CTF Study Logs
Begin
- Web安全
- 逆向工程(Reverse)
- 漏洞挖掘与漏洞利用(PWN、Exploit)
- 密码学(Crypto)
- 调查取证(Misc)
- 移动安全(Mobile)
Misc
文件操作与隐写
文件类型识别
- file命令
❯ file test.wav test.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz
- 查看文件头类型 https://en.wikipedia.org/wiki/List_of_file_signatures
- 文件头残缺/错误
文件分离操作
- binwalk
- 分析文件:
binwalk filename
- 分离文件:
binwalk -e filename
- 分析文件:
- foremost
foremost filename -o dir
- dd
- 当文件自动分离出错或者因为其他原因无法自动分离时,可以使用
dd
实现文件手动分离。
- 当文件自动分离出错或者因为其他原因无法自动分离时,可以使用
- 010 Editor
- 打开文件 -> 选中右键 -> Selection -> Save Selection
文件合并操作
- Linux:cat 合并的文件 > 输出的文件
- Windows:copy /B 合并的文件 输出的文件
图片隐写
- wbstego4工具:解密通过LSB加密的图片。
- TweakPNG
- 文件头正常却无法打开文件,使用TweakPNG修改CRC。
- 有时CRC没有错误,但是图片高度或宽度发生错误,需要通过CRC计算出正确的高度或宽度。
- Bftools:解密图片信息。
- SilentEye:可以将文字或文件隐藏到图片的解密工具。
- JPG图片加密
- Stegdetect工具探测加密方式。
- Jphide是基于最低有效位LSB的JPEG格式图像隐写算法。
- Outguess一般用于解密文件信息。
- F5一般用于解密文件信息。
- 二维码处理
- 补全
- 反色
压缩文件处理
压缩文件分析
- 伪加密:如果压缩文件是加密的,或文件头正常但解压缩错误,首先尝试文件是否为伪加密。ZIP文件是否加密是通过标识符来显示的,将其设置为00表示该文件未加密。成果解压则表示文件为伪加密。
- 搜索
504B0102
后的第九第十位,将其设置为0000。 - RAR文件由于有头部校验,使用伪加密时打开文件会报错,如果修改标志位后成功解压,说明是伪加密。找到第24个字节,该字节尾数为4表示加密,0表示未加密。
- 搜索
- 暴力破解
- ARCHPR
- 明文攻击:指知道加密的ZIP中部分文件的明文内容,利用这些内容推测出密钥并解密ZIP文件的方法。
- 有一个明文文件,压缩后CRC值与加密压缩包中的文件一致。
- 明文文件的压缩算法需要和加密压缩包的压缩算法一致。
- RAR:有时给出的RAR文件头部会故意错误导致无法识别,显示一个文件,修复后显示两个文件。
- HEAD_CRC 2B 所有块或部分的CRC
- HEAD_TYPE 1B 块类型
- HEAD_FLAGS 2B 块标记
- HEAD_SIZE 2B 块大小
- ADD_SIZE 4B 可选结构 增加块大小
流量取证
- 流量包修复
- 协议分析
- 数据提取
Wireshark
常用过滤命令
- 过滤IP
- ip.src eq x.x.x.x or ip.dst eq x.x.x.x
- ip.addr eq x.x.x.x
- 过滤端口
- tcp.port eq 80 or udp.port eq 80
- tcp.dstport == 80
- tcp.srcport == 80
- tcp.port >= 1 and tcp.port <= 80
- 过滤协议
- tcp/udp/arp/icmp/http/ftp/dns/ip…
- 过滤MAC
- eth.dst == xx-xx-xx-xx-xx-xx
- 过滤包长度
- udp.length == 26 指UDP本身固定长度8加上块数据包之和
- tcp.len >= 7 指IP数据包(TCP下面那块数据),不包括TCP本身
- ip.len == 94 除了以太网头固定长度14,其他都算ip.len,即从ip本身到最后。
- frame.len == 119 整个数据包长度,从eth开始掉最后。
- http模式过滤
- http.request.method == “GET”
- http.request.method == “POST”
- http.request.url == “/img/logo.png”
- http contains “GET”
- http contains “HTTP/1.”
协议分级
Follow Stream
导出对象
导出分组字节流
无线流量包
- 用aircrack-ng检查cap包:
aircrack-ng xxx.cap
- 跑字典进行握手包破解:
aircarck-ng xxx.cap -w pass.txt
USB流量
-
涉及键盘敲击、鼠标移动与点击、存储设备的明文传输通信、USB无线网卡网络传输内容等。
-
USB协议的数据部分在Leftover Capture Data域中。
-
使用tshark可以将Leftover Capture Data数据单独复制出来。
-
键盘:https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf
-
鼠标:鼠标移动表现出连续性,与键盘的离散性不同。
-
鼠标数据包的数据长度为4个字节,第一个字节代表按键,当取0x00时,代表没有按键、为0x01时,代表按左键,为0x02时,代表当前按键为右键。
-
鼠标流量分析:https://github.com/WangYihang/USB-Mouse-Pcap-Visualizer
HTTPS流量
HTTPS流量是经过TLS加密过的,需要导入key才能看到原始的HTTP流量。
密码学
密码学发展
算法
- 对称加密算法:加密密钥和解密密钥相同。
- DES, 3DES, IDEA, AES
- 非对称加密算法:加密密钥和解密密钥不同。其中加密密钥可以公开,解密密码必须保密。
- RSA, ECC, ElGamal
- 摘要算法:也被称为哈希算法,常见的有MD5, SHA。
编码
- ASCII
- BASE64
- URL编码:就是ASCII的十六进制,需要在前面加上
%
。 - Unicode:密文中有多个
\uxxx
。 - JS混淆
网络安全
信息收集
信息收集
- 扫描器扫描(IBM-AppScan、HP-WebInspect、启明星辰-天镜、安恒-明鉴、绿盟-WVSS/RSAS、其他-Namp等)
- DNS域传输漏洞(域名探测过程)
- 根据主域名获得二级、三级域名。
- A NS MX记录
- Bind版本号 区域传输
- DNS是最主要的服暴露信息的来源。
- 收集DNS域名信息
- 发现开放端口的主机
- 发现子域名以及开放端口
- DNS域名的注册信息
- DNS服务器区域传输
dnsenum
fierce
dmitry
…
nmap
amap
netdiscover
arp-scan
❯ arp-scan --localnet
Interface: en0, type: EN10MB, MAC: 80:a9:97:23:a7:de, IPv4: 192.168.3.121
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.3.126 00:1c:42:aa:6b:5c Parallels, Inc.
1957 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.10.0: 256 hosts scanned in 1.864 seconds (137.34 hosts/sec). 1 responded
whois
nslookup
❯ nslookup qq.com
Server: 192.168.3.1
Address: 192.168.3.1#53
Non-authoritative answer:
Name: qq.com
Address: 112.60.14.252
Name: qq.com
Address: 111.33.167.71
❯ nslookup
> set type=mx
> qq.com
Server: 192.168.3.1
Address: 192.168.3.1#53
Non-authoritative answer:
qq.com mail exchanger = 20 mx2.qq.com.
qq.com mail exchanger = 30 mx1.qq.com.
qq.com mail exchanger = 10 mx3.qq.com.
Authoritative answers can be found from:
dig
❯ dig qq.com
; <<>> DiG 9.10.6 <<>> qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26045
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;qq.com. IN A
;; ANSWER SECTION:
qq.com. 426 IN A 112.60.14.252
qq.com. 426 IN A 111.33.167.71
;; Query time: 15 msec
;; SERVER: 192.168.3.1#53(192.168.3.1)
;; WHEN: Sun May 05 17:13:40 CST 2024
;; MSG SIZE rcvd: 56
反向解析
❯ dig +noall +answer -x 114.114.114.114
114.114.114.114.in-addr.arpa. 52 IN PTR 114.114.114.114.in-addr.arpa.
trace
Maltego
ICP备案信息
SSL查询
APP信息提取
抓包、反编译来获取域名、IP地址、端口号等信息。
DNS更新记录解析
通过Google与第三方网站收集
https://ctf-wiki.org/misc/recon/ https://www.zoomeye.org/
源码泄露
.git
.SVN
.DS_Store
WEB_INF/web.xml
- 网络备份文件泄露
.gz .rar .zip .tar.gz .bak .tar
- Github泄露:配置信息、邮箱信息、KEY。
API信息泄露
接口未做限制。
社工
- 利用社工库获取邮箱对应密码。
- 社交媒体。
- 任意邮箱发送:https://forum.butian.net/share/2089
工具
- theHarvester
- 7kbscan
指纹识别
指纹识别是指网站CMS指纹识别,在渗透测试过程我们会遇到各种各样的CMS建站,我们需要判断目标网站使用的到底是哪一个CMS。
常用的工具有Test404轻量CMS之别识别工具、plecost、cmscan、御剑WEB指纹识别工具、BlindElephant、FingerPrint、gwhatweb、TideFinger、Wappalyzer、指纹特征识别beta2-b0y等。
WAF识别
https://github.com/EnableSecurity/wafw00f
CDN识别
https://github.com/3xp10it/xcdn
CMDB
-
SRC平台
-
routerpwn.com
-
cve.mitre.org
漏洞扫描
扫描原理
链路检测扫描
利用ping命令进行测试扫描检查网络连通性。
- TTL=64:Windows 7/2008, Linux
- TTL=128:Windows XP/2000/2002
- TTL=255:可能是交换机、路由设备
端口检测扫描
利用telnet、nmap命令进行扫描检查网络端口信息。
OS检测扫描
利用nmap命令进行测试扫描检查网络系统信息时,利用TCP/IP协议栈指纹来识别不同的操作系统和设备。
弱口令探测
字典。
漏洞评估检测
对各种已知的漏洞进行检测。
技术分类
准备工作
- 了解网络部署情况:了解哪些网络主机是可以进行扫描的,哪些网络主机是不可以进行扫描。
- 扫描时间和方式
- 定制好扫描策略
- 防火墙是否开启
- 企业服务是否配置了相关的安全策略,以防锁死:有些业务服务是由扫描探测锁定限制的,一旦扫描可能会造成业务中断,比如数据库业务。
扫描工具
- Web扫描工具:AWVS、AppScan、Netspark、绿盟科技WVSS、安恒明鉴扫描器
- 系统扫描工具:天境、nessus、nmap(端口扫描)
- 其它扫描工具:Burp、Xray扫描器
漏洞利用
MSF框架
Linux安全加固
身份鉴别
/etc/login.defs
文件定义了与/etc/passwd
与/etc/shadow
配套的用户限制设置。
如果/etc/shadow
有相同的选项,则以/etc/shadow
的设置为准。
/etc/passwd
文件中每个用户都有一个对应的记录行,记录了这个用户的一些基本属性。
/etc/shadow
文件包含用户的密码信息,只有root用户拥有读权限。
访问控制
/etc/ssh/sshd_config
/etc/bashrc
为每一个运行bash shell的用户执行此文件。
/etc/profile
此文件为系统的每个用户设置环境信息,当用户第一次登录时。该文件被执行. 并从/etc/profile.d
目录的配置文件中搜集shell的设置。
/etc/hosts.deny
hosts.allow
控制可以访问本机的IP地址,hosts.deny
控制禁止访问本机的IP。如果两个文件的配置有冲突,以hosts.deny
为准。
安全审计
/etc/rsyslog.conf
系统日志管理,配置安全日志的完备性。
资源控制
防止快捷键关机。
入侵防范
关闭不必要的服务。