제목 : Red and Blue vs. —— Blue Team Manual

0x01 前言​

빨간색과 파란색 대립에 대한 아이디어는 우리 나라에서 가장 초기의 기존 군사 책으로 거슬러 올라갈 수 있습니다.《孙子兵法》. Tzu의 공격에 관한 Sun Tzu의 장에는 "적을 알고 자신을 알고 있으며, 100 개의 전투에서 결코 패배하지 않을 것입니다." 적과 우리의 상황을 철저히 이해할 수 있다면 몇 번이나 싸우더라도 결코 실패하지 않을 것입니다. 정보 보안 분야에서 모든 사람은 현재 다음과 같은 합의를 가지고 있습니다. "공격을 모른다면 왜 방어하는 방법을 알고 있습니까?" 공격적이고 방어적인 대립 자체는 지속적인 과정입니다. 특정 대립에서 상대에 대해 더 많이 알수록 지배적 일 것입니다. 빨간색과 파란색 대립의 주요 목적은 회사의 보안 성숙도와 공격을 감지하고 대응하는 능력을 향상시키는 것입니다. 레드 팀의 공격과 블루 팀은 방어하지만 주요 목표는 조직의 보안 자세를 개선합니다.

0x02 准备工作​

1) 조직 구조 차트
2) 전체 네트워크의 주제 맵
3) 각 시스템의 논리 구조 다이어그램
4) 각 시스템 간의 관계
5) 데이터 흐름 관계
6) 핵심 자산 목록
7) 비상 대응 계획
8) 비즈니스 연속성 계획
9) 재해 복구 계획

0x03 简单安全评估​

1.端口扫描和漏洞检测​

1.1主机发现(Ping探测)​

# NMAP -SN -PE IP 주소 또는 주소 세그먼트

1.2端口扫描​

# NMAP-IP 주소 또는 주소 세그먼트를 시작합니다

1.3服务版本检测​

# NMAP -SV IP 주소 또는 주소 세그먼트

1.4扫描多个端口​

# NMAP -P 80,443 IP 주소 또는 주소 세그먼트

1.5 UDP扫描​

# NMAP -SU -P 53 IP 주소 또는 주소 세그먼트

1.6 TCP/UDP扫描(-Pn 跳过主机发现)​

# NMAP -V -PN -SU -SU -ST -P U336053,111,137, T:21-25,80,139,8080 IP 주소 또는 주소 세그먼트

1.7 Nessus扫描​

# Nessus -Q -X -T HTML Server IP 서버 포트 관리자 계정 비밀번호 대상 .txt output report.html

1.8 OPENVAS扫描​

# apt -y pregrep 설치
# wget https://goo.gl/tyblwe
# chmod +x OpenVas-automate.sh ./openvas-automate.sh target ip

2. WINDOWS系统篇​

2.1 网络发现​

기본 네트워크 발견 :
# C: NET View /ALL
# C: Net View Hostname
핑 감지 :
(1,1,254)에서 /l %i에 대한 # C: 핑 -W 30 -n 1 192.168.1. %i | '답장'output.txt를 찾으십시오

2.2 DHCP​

DHCP 서버 로깅 기능 활성화 :
# C: Reg ADD HKLMSYSTEMCURRENTCONTROLSETSETSERVICESDHCPSERVERVERPARAMETERS /V ACTIVELOGFLAG /T Reg_DWORD /D 1
기본 로그 파일 디렉토리 :
C: %Windir %System32dhcp

2.3 DNS​

DNS 서버 로깅 기능 활성화 :
# C: DNSCMD DNS 서버 이름 /config /loglevel0x8100F331
# 로그 파일 디렉토리 구성 :을 구성합니다
C: DNSCMD DNS 서버 이름 /config /logfilepath C:dns.log
# 로그 파일 크기 구성 :을 구성합니다
C: DNSCMD DNS 서버 이름 /config /logfileMaxsize0xffffffffff

2.4 哈希值​

파일 체크섬 무결성 확인 (FCIV) :
참조 : http://support2.microsoft.com/kb/841290
# 단일 파일 :
C: fciv.exe 파일 이름
# C 드라이브의 모든 파일을 계산하고 결과를 파일 :에 저장합니다.
C: FCIV.EXE C: -R -SHA1 -XML result.xml
# 모든 해시 값 :을 나열하십시오
C: fciv.exe -list -sha1 -xml result.xml
# Certutil PowerShell
# certutil -HashFile 파일 이름 sha1
# PS C: get-filehash 파일 이름 | 형식 목록
# ps c: get -filehash -angorithm md5 파일 이름

2.5 NETBIOS​

NBTSTAT 스캔
# C: NBTSTAT- 대상 IP 주소
Netbios 캐시
# C: NBTSTAT -C
배치 스캔
(1,1,254)에서 /l %i의 경우 # c: do nbtstat -an 192.168.1. %i

2.6 微软基线安全分析器(MBSA)​

단일 IP를 스캔하십시오
# C: MBSACLI.EXE /대상 IP 주소 /N OS+IIS+SQL+비밀번호
IP 주소 세그먼트를 스캔하십시오
# C: MBSACLI.EXE /R IP 주소 세그먼트 /N OS+IIS+SQL+비밀번호

3. LINUX系统篇​

3.1 网络发现​

보기 SMB 공유보기
# smbclient -l 대상 호스트 이름
핑 감지
# IP/dev/null의 IP 용; [잘못 배치 된 ip up '|| : 완료

3.2 DHCP​

DHCP 로그
rhel/centos
# cat /var/lib/dhcpd/dhcpd.leas
데비안/우분투
# grep -ei 'dhcp'/var/log/syslog.1

3.3 DNS​

DNS 로그
# rndc querylog tail -f/var/log/messages | Grep이 명명되었습니다

3.4 哈希值​

특정 디렉토리에서 모든 실행 파일의 해시 값 계산
# find /sbin -type f -exec md5sum {} md5sums.txt;
# md5deep -rs /sbin md5sums.txt

3.5 NETBIOS​

NBTSTAT 스캔
# NBTSCAN 대상 IP 주소 또는 IP 주소 세그먼트
예 : NBTSCAN 192.168.1.2-100

4. 安全加固​

4.1 WINDOWS系统篇​

4.1.1 禁用/停止服务​

# C: SC 쿼리
# C: SC 구성 '서비스 이름'시작=비활성화
# C: SC 정지 '서비스 이름'
# C: WMIC 서비스 이름='서비스 이름'콜 ChangestArtMode 비활성화

4.1.2 防火墙管理​

# 모든 규칙 목록 :
# C: NETSH ADVFIREWALL 방화벽 표시 규칙 이름=모두
# 방화벽 :을 활성화 또는 비활성화합니다
C: Netsh Advfirewall은 CurrentProfile 상태를 설정합니다
C: Netsh AdvfiRewall은 CurrentProfile FirewallPolicy BlockInboundalways, AllowOutBound
C: Netsh AdvfiRewall은 공개 프로파일 상태를 설정했습니다
C: Netsh AdvfiRewall은 PrivateProfile 상태를 설정했습니다
C: Netsh Advfirewall 세트 도메인 프 로피 상태 켜짐
C: Netsh AdvfiRewall은 AllProfile 상태를 설정합니다
C: Netsh AdvfiRewall은 AllProf Ile State를 설정했습니다
#configuration 예 :
Netsh AdvFireWall 방화벽 추가 규칙 이름='Open TCP:80 PORT'DIR=action=허용 프로토콜=TCP localport=80
Netsh AdvFireWall 방화벽 추가 규칙 이름='Open TCP:443 포트'dir=action=allect protocol=tcp localport=443
Netsh AdvFireWall 방화벽 추가 규칙 이름='블록 포트 TCP:445'DIR=IN ACTION=BLOCK PROTOCOL=TCP LocalPort=445
netsh advfirewall 방화벽 규칙 이름='허용 myApp'dir=action=allow program='c:myappmyapp.exe'enable=yes

4.1.3 清除DNS缓存和Netios缓存​

# C: IPCONFIG /FLUSHDNS
# C: NBTSTAT -R

4.1.4 应用控制​

# Appocker 구성
# Applocker 모듈을 가져옵니다
PS C: 가져 오기 모듈 애플 로커
# System32 디렉토리의 모든 EXE 파일에 대한 Applocker 정보보기
PS C: Get -ApplockerFileInformation -Directory C:Windowssystem32 -Recurse -FileType Exe
# System32 디렉토리의 모든 EXE 파일에 대한 허용 규칙 추가
PS C: Get-ChildItem C:Windowssystem32*, exe | Get-ApplockerFileInfileInformation | New -ApplockerPolicy -ruletype Publisher, Hash -user Everyone -RulenAmepRefix System32

4.1.5 IPSEC​

# 사전 공유 키를 사용하여 새 IPSEC 로컬 보안 정책을 만들고 모든 연결 및 프로토콜에 적용하십시오.
C: NETSH IPSEC 정적 추가 필터 필터 목록=myipsecfilter srcaddr=모든 dstaddr=모든 프로토콜=
C: NETSH IPSEC 정적 추가 여과 이름=MYIPSECACTION ACTION=협상
C: NETSH IPSEC 정적 추가 정책 이름=MYIPSECPOLICY 할당=예
C: NETSH IPSEC 정적 추가 규칙 이름=MYIPSECRULE 정책=MYIPSECPOLICY FILTERLIST=MYIPSECFILTER FILOTACTION=MYIPSECACTION CONTYPE=ALL ACTIVATE=예 PSK=비밀번호
# 외부 네트워크의 포트 80 및 443에 액세스 할 수있는 새 IPSEC 정책 작성
C: NETSH IPSEC 정적 추가 여과 이름=허용 조치=허가
C: NETSH IPSEC 정적 추가 필터 필터 목록=WebFilter srcAddr=모든 dstaddr=모든 프로토콜=tcp dstport=80
C: NETSH IPSEC 정적 추가 필터 필터 목록=WebFilter srcAddr=모든 dstaddr=모든 프로토콜=tcp dstport=443
C: NETSH IPSEC 정적 추가 규칙 이름=Weballow Policy=MyipSecPolicy FilterList=WebFilter FilterAction=alling conntype=all activate=예 PSK=비밀번호
#IPsec 지역 보안 정책을 뷰 및 비활성화합니다
C: NETSH IPSEC 정적 표시 정책 이름=MYIPSECPOLICY
C: NETSH IPSEC 정적 세트 정책 이름=MYIPSECPOLICY 할당=아니요
# 소스 및 대상 주소와 함께 IPSEC에 해당하는 새 방화벽 규칙을 만듭니다.
c: netsh advfirewall consec 추가 규칙 이름='ipsec'endpointl=모든 endpoint2=모든 조치=요구 사항 qmsecmethods=default
# IPsec에 해당하는 새 방화벽 규칙을 작성하고 모든 아웃 바운드 요청은 사전 공유 비밀 키를 제공해야합니다.
C: NETSH ADVFIREWALL 방화벽 추가 규칙 이름='ipsec_out'dir=out action=enable=yesable=yesable=one localip=모든 remoteip=모든 프로토콜=대신 interfaceType=모든 보안=인증

4.1.6 其他安全策略​

# 원격 데스크탑 연결을 비활성화합니다
C: Reg Add 'HKLMSYSTEMCURRENTCONTROLCONTROLTERMINALSERVER' /f /v fdenytsconnections /t reg_dword /d 1
# NTLMV2 응답 만 보내십시오 ( "Eternal Blue"취약성 공격 방지)
C: Reg ADD HKLMSYSTEMCURRENTCONTROLTONTROLLSA /V LMCOMPATIBLESLEVEL /T Reg_DWORD /D 5 /F
# IPv6 비활성화
C: Reg ADD HKLMSYSTEMCURRENTCONTROLSETSETSERVICESTCPIP6PARAMETERS /V DISABLED COMPONENTS /T Reg_DWORD /D 255 /F
# 스티커 키를 비활성화합니다
C: Reg 추가 'HKCUCONTROLPANELACCESSIBLESIBITYSTICKYSYSTICKYS' /V FLAGS /T Reg_SZ /D 506 /F
# 관리 공유 비활성화 (서버/워크 스테이션)
C: Reg Add add add a add
C: Reg ADD HKLMSYSTEMCURRENTCONTROLSETSETSERVICESLANMANSERVERPARAMETERS /F /V AUTHOSHAREWKS /T Reg_DWORD /D 0
# 레지스트리 편집기 및 CMD 명령 프롬프트를 비활성화합니다
C: Reg ADD HKCUSOFTWAREMICROSOFTWINDOWSCURRENTVERSONPOLICIESSYSTEM /V DICABLEREGISTRYTOOLS /T Reg_DWORD /D 1 /F
C: Reg Add add add hkcusoftwarepoliciesmicrosoftwindowssystem /v disablecmd /t reg_dword /d 1 /f
# UAC 활성화
C: Reg ADD HKLMSOFTWAREMICROSOFT WindowsCurrentVersionPoliciessystem /v enableLua /t reg_dword /d 1 /F
# 방화벽 로그를 활성화합니다
C: Netsh 방화벽 세트 로깅 드롭 패키지=활성화
C: Netsh 방화벽 세트 로깅 연결=활성화

4.2 LINUX系统篇​

4.2.1 服务管理​

# 서비스 상태를 확인하십시오
서비스 –STATUS-ALL
ps -ef 또는 ps -aux
initctl 목록
SystemCTL 목록-단위 파일
# 서비스를 시작, 중지 및 비활성화합니다
# 신생 서비스 :
/etc/init.d/apache2 시작 | 중지 | 상태
서비스 apache2 시작 | 중지 | 상태
update-rc.d apache2 비활성화
# SystemD Services: 용
SystemCTL 시작 | 중지 | 상태 ntp.Service
SystemCTL SSHD.Service를 비활성화합니다

4.2.2 防火墙管理​

# iptables Common Operations :
iptables-save filewall_rules.bak # 내보내기 현재 규칙
iptables -vnl -line # 모든 규칙을 나열합니다
iptables -s # 위와 동일합니다
iptables -p 입력 드롭 # 기본 정책은 모든 연결을 금지합니다.
iptables -a 입력 -S 10.10.10.10 -j drop # 단일 IP 비활성화
iptables -a 입력 -S 10,10.10.0/24 -j 드롭 # 네트워크 세그먼트 금지
iptables -a 입력 -p tcp -dport ssh -s 10.10.10.10 -j drop # IP가 기본 SSH 서비스에 액세스하는 것을 금지합니다.
iptables -a 입력 -p tcp –dport ssh -j drop # 기본 SSH 서비스에 대한 액세스 비활성화
iptables -I 입력 5 -m 한계 -limit 5/min -j log –log -prefix '
iptables는 거부 : '–log-level 7 # 로깅 활성화
iptables -f # 모든로드 된 작업을 지우십시오

4.2.3 DNS缓存​

# UNIX/LINUX 시스템은 시스템 레벨 DNS 캐시가 없습니다.

4.2.4 配置IPSEC​

# 두 서버간에 IPSEC 채널을 설정하십시오
1.) 방화벽 규칙을 추가하면 IPsec 프로토콜이 가능합니다
iptables -a 입력 -p esp -j 수락
iptables -a 입력 -p ah -j 수락
IPTables -A 입력 -P UDP -DPORT 500 -J 허용
IPTABLE- 입력 -P UDP -DPORT 4500 -J 허용
2.) 너구리를 설치하십시오
apt -y racoon을 설치하십시오
3.) 구성 파일 : /etc/ipsec-tools.conf 편집
플러시;
spdflush;
호스트의 Spdadd IP 주소 A 호스트 B의 IP 주소 any -p out ipsec
ESP/Transport //요구;
호스트 B의 SPDADD IP 주소 B 호스트의 IP 주소 A IPSEC에서 -p의 IP 주소
ESP/Transport //요구;
4.) 구성 파일 편집 : /etc/racoon/racoon.conf
로그 알림;
경로 pre_shared_key '/etc/racoon/psk.txt';
경로 인증서 '/etc/racoon/certs';
원격 익명 {
Exchange_Mode Main, 공격적; 제안 {Encryption_algorithm AES_256; Hash_algorithm SHA256; Authentication_Method
pre_shared_key;
DH_GROUP MODP1024;
}
generate_policy off;
}
Sainfo 익명 {
PFS_GROUP 2; ENCRYPTION_ALGORITHM AES_256; AUGNETICATION_ALGORITHM HMAC_SHA256; compression_algorithm deflate;
}
5.) 사전 공유 키를 추가하십시오
호스트 A : 에코 호스트 B 123 /etc/racoon/psk.txt
호스트 B : Echo 호스트 123 /etc/racoon/psk.txt
6.) 서비스를 다시 시작하고 협상 및 구성 정책을 확인하십시오.
Service Setkey 재시작
setkey -d
Setkey -dp

5. 检测(Visibility)​

5.1 网络安全监控​

5.1.1 数据包捕捉与分析​

1.)TCPDUMPTCPDUMP -TTTTT -N -VV # 인쇄 시간 스탬프, 이름 해상도를 수행하지 않고 동점으로 표시하지 마십시오.
tcpdump -nn -c 1000 | awk '{print $ 3}'| 컷 -D. -f1-4 | 정렬 -n | UNIQ -C | 정렬 -NR # 1000 패킷을 캡처하고 최고의 화자를 찾으십시오.
tcpdump -w target.pcap -I 모든 DST TargetIP 및 포트 80 # 포트 80이있는 모든 인터페이스에 대상 IP가있는 패킷 캡처 패킷을 대상에 씁니다 .pcap 파일
tcpdump 호스트 10.0.0.1 호스트 10.0.0.2 # 두 호스트 사이의 캡처 패킷
TCPDUMP NOT NET 10.10 호스트가 아님 192.168.1.2 #10.10 네트워크 세그먼트가 아닌 데이터 패킷 및 비 192.168.1.2 호스트
TCP
 
뒤로
상단