KoreanHackerTeam
Moderator
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.html1.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