安全工具
1.CS工具使用
渗透神器
2.Nmap常用命令
nmap hostname/ip或者多个ip或者子网192.168.123.*
- -iL ip.txt 扫描ip.txt的所有ip
- -A 包含了-sV,-O,探测操作系统信息和路由跟踪。一般不用,是激烈扫描-O 探测操作系统信息
- -sV 查找主机服务版本号
- -sA 探测该主机是否使用了包过滤器或防火墙
- -sS 半开扫描,一般不会记入日志,不过需要root权限。
- -sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批的链接请求以及错误信息。
- -sP ping扫描,加上这个参数会使用ping扫描,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping,却实际存在。
- -sN TCP空扫描
- -F 快速扫描
- -Pn 扫描之前不使用ping,适用于防火墙禁止ping,比较有用。
- -p 指定端口/端口范围
- -oN 将报告写入文件
- -v 详细信息
- -T<0-5> 设定速度
使用脚本
- --script all 使用所有脚本
- --script=sql.injection.nse sql注入
- --script="smb*" 扫smb系列
一、4 大功能:分别为主机发现(参数-sn)、端口扫描(-sS -sU)、版本侦测(–sV)、OS 侦测(-O)
二、扫描方式有:tcp connect()、TCP SYN scanning、TCP FIN scanning、Null scan等,
三、绕过 ping 扫描参数为:nmap -Pn XXX.XXX.XXX.XXX
四、漏洞检测可直接 nmap 目标 --script=auth,vuln
3.SQLmap
- -u 单个URL -m xx.txt 多个URL
- -d "mysql://user:[email protected]:3306/dvwa" 作为服务器客户端,直接连接数据库
- --data post/get都适用
- -p 指定扫描的参数
- -r 读取文件
- -f 指纹信息
- --tamper 混淆脚本,用于应用层过滤
- --cookie --user-agent --host等等http头的修改
- --threads 并发线程 默认为1
- --dbms MySQL<5.0> 指定数据库或版本
- –level=LEVEL 执行测试的等级(1-5,默认为 1)
- –risk=RISK 执行测试的风险(0-3,默认为 1) Risk升高可造成数据被篡改等风险–current-db / 获取当前数据库名称
- –dbs 枚举数据库管理系统数据库
- –tables 枚举 DBMS 数据库中的表
- –columns 枚举 DBMS 数据库表列
- -D DB 要进行枚举的数据库名
- -T TBL 要进行枚举的数据库表
- -C COL 要进行枚举的数据库列
- -U USER 用来进行枚举的数据库用户
常用的tamper
- base64encode.py #转为b64编码
- charencode.py url编码
- chardoubleencode.py 双URL编码
- unmagicquotes.py 宽字节
- randomcomments.py 用/**/分割SQL关键字
- space2plus.py space2comment.py space2xxxx.py 替换空格为xx
Post注入
sqlmap -r "数据包地址" -p "参数" -dbms 数据类型
Get注入
sqlmap -u "注入点地址" --dbms 参数
sqlmap进行交互式写shell
1-前提条件:最高权限、知道web网站绝对路径、能获取到cookie
2-sqlmap.py -u "注入点地址" --cookie="cookie值" --os-shell -echo “一句话木马”>网站的绝对路径
3-输入web网站的绝对路径
4-传木马
4.菜刀、蚁剑、冰蝎流量特征
菜刀特征
使用了base64的方式加密了发送给“菜刀马”的指令,其中的两个关键payload z1和z2,这个名字是可变的
蚁剑特征
默认的USER-agent请求头 是 antsword xxx,但是 可以通过修改:/modules/request.js 文件中 请求UA绕过
其中流量最中明显的特征为@ini_set("display_errors","0");这段代码基本是所有WebShell客户端链接PHP类WebShell都有的一种代码
蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“_0x......=”这种形式(下划线可替换),所以以_0x开头的参数名也很可能就是恶意流量
冰蝎
看包没有发现什么特征,但是可以发现它是POST请求的
1、Accept头有application/xhtml+xmlapplication/xmlapplication/signed-exchange属于弱特征(UA头的浏览器版本很老)
2、特征分析Content-Type: application/octet-stream 这是一个强特征查阅资料可知octet-stream的意思是,只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组);很少使用
冰蝎2特征
默认Accept字段的值很特殊,而且每个阶段都一样冰蝎内置了十余种UserAgent ,每次连接 shell 会随机选择一个进行使用。但都是比较老的,r容易被检测到,但是可以在burp中修改ua头。
Content-Length: 16, 16就是冰蝎2连接的特征
冰蝎3特征
冰蝎3取消动态密钥获取,目前很多waf等设备都做了冰蝎2的流量特征分析,所以3取消了动态密 钥获取;php抓包看包没有发现什么特征,但是可以发现它是POST请求的
1)Accept头application/xhtml+xmlapplication/xmlapplication/signed- exchange属于弱特征
2)ua头该特征属于弱特征。通过burp可以修改,冰蝎3.0内置的默认16个userAgent都比较老。现实生活中很少有人使用,所以这个也可以作为waf规则特征
jsp抓包特征分析Content-Type: application/octet-stream 这是一个强特征查阅资料可知 octet-stream的意思是,只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交 一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组);很少使用。
5.哥斯拉流量特征
PHP连接特征
(1)php_XOR_BASE64
设置代理,用burp抓包。截取到特征发**现请求都含有"pass**="第一个包第二个包
POST /hackable/uploads/base.php HTTP/1.1 User-Agent: Java/1.8.0_131 Host: 192.168.0.132:777 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-type: application/x-www-form-urlencoded Content-Length: 51 Connection: close pass=AWEzAAN%2FWFI3XHNGaGBQWDEHPwY4fSQAM2AIDw%3D%3D
jsp连接特征
(1)java_AES_BASE64
POST /gejs.jsp HTTP/1.1 User-Agent: Java/1.8.0_131 Host: 192.168.0.132:555 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-type: application/x-www-form-urlencoded Content-Length: 33035 Connection: close pass=0%2FMHwbBP6vuX0WyYztOU9DrUPcD0Zwx0KhArobwwHBDld91Y8xrUqPxo40dK oSbGd%2FxDF4yJopsUIHMI8NMfFUl0oxBzWPyMdTmxAntagmMGLGiqB1ckbl5G%2Fla pnewWrvhhdqtj0eT2zvUes%2Bg6yhFGVjLstoOdJxkYPY6XB70AeffugDlCkUYAyHyr TymPocUs14sKD5ItAn5147goo9TAdBH0kgSNlxbqxMqTPbgjKljsvC53fFB%2BO5jKU BCBvsCR1W%2FLhPA42qp1e%2Fl0cmUohwSAT3N0s9r%2FzRVlB3lQkXnV895dz48DyP bYjJp%2Bhpf1qFjbCy1o8Zd771ObGbKvWr1O5PZOTNKB
**与php请求一样都含有"pass="而且发起连接时服务器返回的Content-Length是0**
(2)java_AES_RAW
POST /rwj.jsp HTTP/1.1 User-Agent: Java/1.8.0_131 Host: 192.168.0.132:555 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-type: application/x-www-form-urlencoded Content-Length: 23360 Connection: close Óó•Á°Oêû•Ñl•ÎÓ•ô:Ô=Àôg•t*•+ ¡¼0••åwÝXó•Ô¨ühãGJ¡&ÆwüC•••¢••s•ðÓ••It£•sXü•u9±•{Z•c•,hª•W$n^FþV©•ì•®øav«cÑäöÎõ•³è:Ê HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=1C26762D96A561D4A63BDE104E22930C; Path=/; HttpOnly Content-Type: text/html Content-Length: 0 Date: Wed, 18 Nov 2020 15:19:56 GMT Connection: close
6.wireshark简单的过滤规则
过滤 ip
过滤源 ip 地址:ip.src==1.1.1.1;,目的 ip 地址:ip.dst==1.1.1.1; 过滤端口:
过滤 80 端口:tcp.port==80,源端口:tcp.srcport==80,目的端口:tcp.dstport==80
协议过滤
直接输入协议名即可,如 http 协议 http
http 模式过滤
过滤 get/post 包 http.request.mothod=="GET/POST"
7.MSF基本使用方法
常用命令
background #让meterpreter处于后台模式
sessions -i number #与会话进行交互,number表示第n个session quit #退出会话
shell #获得命令行
cat c:\\boot.ini #查看文件内容
getwd #查看当前工作目录
work directory upload /root/Desktop/netcat.exe c:\\ # 上传文件到目标机上
download 0xfa.txt /root/Desktop/ # 下载文件到本机上
edit c:\\boot.ini # 编辑文件
search -d d:\\www -f web.config #search 文件 ps #查看当前活跃进程 migrate pid #将Meterpreter会话移植到进 程数位pid的进程中
execute -H -i -f cmd.exe #创建新进程cmd.exe,-H不可 见,-i交互 getpid #获取当前进程的
pid kill pid #杀死进程 getuid #查看权限
sysinfo #查看目标机系统信息,如机器名,操作系统等
getsystem #提权操作
timestompc:/a.doc -c "10/27/2015 14:22:11" #修改文件的创建时间
迁移进程
1-meterpreter > ps
2-自行选择PID
3-meterpreter > migrate pid
木马免杀
免杀可以先fuzz定位出被查杀的语句,然后对被查杀那部分进行一波操作,像是加密啊、编码啊、动态执行啊什么的,或者拆分拼接啊,特定条件执行啊,方法很多,主要就是找到那里被杀了,然后对被杀的部分进行处理。
00-无文件执行木马的方式有哪些?
- powershell(脚本解析器) --->powershell.exe(应用程序)
- VB.script(脚本解析器) --->cscript.exe(应用程序)
- bat处理 (脚本解析器) --->cmd.exe(应用程序)
- javaSrtipt(脚本解析器) --->mshta.exe(应用程序)
01-shellcode免杀
1.编码
2.加壳
3.混淆
4.分离免杀
5.特征码修改
6.添加无用逻辑语句
7.重写api
02-分离免杀
分为加载器和shellcode两部分,一般将shellcode存储在网页或者图片中,然后加载器远程加载存在shellcode的网页或者图片之类的
03-powershell远程加载
可以远程加载mimikazt,远控文件,exe可执行文件实现无文件落地
标签:1.1,--,ip,扫描,Content,面试,特征,网安,例题 From: https://www.cnblogs.com/3cH0-Nu1L/p/18091661