【渗透应急经验篇】面试
明确目标
信息收集
1- 域名信息的收集(收集域名对应的 ip,域名的whois信息、子域名等等一系列与域名相关的信息)
2- 公司敏感信息(查询与该公司有关的任何信息)
3- 网站指纹识别(只有识别出相应的Web容器或者CMS,才能查找与其相关的漏洞)
常见的CMS有:WordPress、Dedecms、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、SiteWeaver、AspCMS、帝国、Z-Blog等
4- 服务器类型(Linux/Windows)
5- 网站容器(Apache/Nginx/Tomcat/IIS)
6- 脚本类型(php/jsp/asp/aspx)
7- 数据库类型(Mysql/Oracle/Accees/Sqlserver)
8- 网站敏感目录和文件
9- 旁站和C段扫描
漏洞探测
探测网站是否存在一些常见的Web漏洞,可以使用一些自动化的工具,比如AWVS,Appscan,Owasp-Zap,Nessus,也可手动渗透测试
漏洞利用/漏洞验证
当我们探测到了该网站存在漏洞之后,我们就要对该漏洞进行利用了。不同的漏洞有不同的利用工具
1- sql注入(sqlmap)
2- xss(Beef-XSS)
3- 文件上传漏洞(一般会上传一句话木马上去,进而再获得webshell)
4- 抓包改包工具(Burpsuite)
信息整理
撰写渗透测试保告
响应
判断事件类型
大规模沦陷、挖矿病毒、勒Suo病毒、无文件落地、不死(顽固)马、钓鱼应急响应、数据劫持
保持第一现场
不推卸责任,发现的被攻陷的主体,最好是用镜像把系统和流量先扒拉下来。要安服和应急人员做好配合
信息收集
流量、日志、可疑进程的内存、失陷系统镜像、恶意样本、客户资产收集、资产相关漏洞测试报告、防御设备的日志
阻断
1- 关站、关服务、拔部分网线,阻断传播
2- 隔离核心资产/隔离受害主体,保证被保护与沦陷方的隔离
分析
1- 日志:时间、动作、结果;这个行为什么时候开始、什么时候结束,这个动作是登陆、退出、修改等、造成的结果是登陆成功/失败、上传/下载了文件、执行了代码等
2- 流量:状态码、交互过程、数据合理性,每次流量的渲染是否正常
3- 样本:启动方式、伪装方式、作用,根据启动方式去选择沙箱或者分析工具;伪装方式判断是否加壳做免杀和打击方式;根据作用去判断受害范围
4- 还原攻击路径,推演攻击过程
清除
针对性的杀进程、删文件、杀软清除
加固
打补丁、对系统进行限制(网络隔离、行为管理等)、升级防御设备、完善防御流程(防御设备的部署、人员的部署、规则库的升级)
写应急响应报告
1- 渗透测试时,不要影响对方网站业务系统运行的连续性,不要因为渗透测试把对方网站打崩。
2- 一般不会对网站进行提权的操作,因为提权很有可能导致对方服务器死机蓝屏,影响对方业务系统的连续运行
3- 不会进行挂马的操作,比如测试文件上传漏洞的时候,如果是php网站就只会上传phpinfo文件看是否能够解析执行
4- 一些关键的系统账号再去爆破前先去手动测测看看这些账号有没有因为密码输入错误,导致锁定次数的
(1)一般就是通过谷歌骇客语法,比如搜可能存在sql注入的网站:
inurl:php?id=1
(2)还有就是用fofa,搜一下比如想要搜后台类的网站body="后台",或者搜一些可能存在默认密码的网站body="默认密码为admin"等。
找到一个sql注入漏洞,通过
sqlmap跑出了这个网站的用户名和密码,然后又用dirseach扫出来了这个网站后台,然后成功进入到这个网站后台,进入网站后台后又发现存在文件上传漏洞。
1、首先我会先和项目经理确定下这个渗透测试的项目需求以及一些注意事项,比如客户有没有要求这个渗透测试的时间段是在晚上还是白天测试,还有网站测试的范围。
2、然后对网站进行渗透测试
3、最后根据挖掘到的漏洞输出渗透测试报告
我会尝试进行爆破,但是爆破前我会输入一个账号看看页面内有没有什么回显,然后根据页面内的回显进行爆破,页面内的回显的话可能有这么几种情况

挖矿木马占用系统资源进行挖矿行为,一般电脑会有以下特征
1- 系统响应缓慢
2- CPU/显卡使用率过高
3- 内存/带宽占用高
入侵排查
1- 查看进程(系统命令ps、ls有可能被替换)
2- 检查日志、检查系统用户
3- 发现异常文件
原因排查
首先查看挖矿进程所属的用户,根据挖矿进程的运行用户去排查该用户下是否还运行着其它进程,确定这些进程是否有上述经常被黑客利用的漏洞
清除木马
1- 及时隔离主机:在不影响业务的前提下应该及时隔离受感染主机,然后进行下一步分析
2- 删除文件、阻断与矿池通讯
3- 清除定时任务
4- 清除启动项:如果有可疑的启动项,也应该进行排查,确认是挖矿进程后,对其进行清除
5- kill 挖矿进程
进程挖矿程序,直接结束挖矿进程即可
如果挖矿进程有守护进程,应先杀死守护进程再杀死挖矿进程,避免清除不彻底
6- 清除公钥文件:在用户 home 目录的 .ssh 目录下放置 authoruzed_keys 文件,从而免密登录该机器也是一种常见的保持服务器控制权的手段
(1)了解项目情况,包括人员组成等
(2)了解项目上的设备:如拓扑图,以及安全布防设备等
(3)确认工作内容,核查各项设备是否能够正常使用
(4)确认紧急联系人以及紧急事件上报流程
日报和周报,报告主要是对现场的安全状况进行总结。报告内容:比如当日的告警数量,每周的告警数量,攻击成功的事件等等🤠
1- 初级监控组:每天的流量告警检测以及初步的流量,可能有时候项目经理让升级设备,还有当日的日报
2- 中级研判组:流量分析+漏洞复测+基线加固+指定资产的渗透测试(偶尔有)+出具处置建议报告/每日流量分析报告+应急响应+溯源分析
3- 处置组:主要对攻击ip进行封禁
4- 应急响应组:主要对被攻击成功的服务器进行应急响应
5- 溯源反制组:主要对攻击者进行溯源以及反制
6- 专家组:指挥全场
运行流程:
一般就是监控组将监控到的恶意攻击流量上报到研判组,研判组对上报上来的流量进行分析以后确定此流量是攻击流量以后,再转给处置组,处置组将此恶意ip进行封禁;如果是有攻击成功的事件,研判组需要同步到溯源反制组和应急响应组,溯源反制组和研判组的人员对该事件进行溯源,应急响应组的对该机器进行应急响应
1- 检查系统账号安全
查看服务器是否有弱口令,远程管理端口是否对公网开放(使用netstat -ano 命令)
lusrmgr.msc 命令查看服务器是否存在可疑账号、新增账号,如有管理员群组的(Administrators)里的新增账户,立即禁用或删除掉
用 D 盾或者注册表中查看服务器是否存在隐藏账号、克隆账号
结合日志,查看管理员登录时间、用户名是否存在异常
2- 检查异常端口、进程
netstat -ano检查端口连接情况,是否有远程连接、可疑连接
任务管理器-进程
3- 检查启动项、计划任务、服务
4- 检查系统相关信息
统版本以及补丁信息
查找可疑目录及文件
5- 日志分析
查看当前系统状态 top
操作系统信息 uname -a
查看用户错误的登录信息 lastb
查看所有用户最后的登录信息 lastlog
查看用户最近登录信息 last
1- 账号安全
who -- 查看当前登录用户(tty本地登陆 pts远程登录)
w -- 查看系统信息,想知道某一时刻用户的行为
uptime -- 查看登陆多久、多少用户,负载
/etc/passwd -- 用户信息文件
/etc/shadow -- 影子文件,存储用户的密码信息
2- 历史命令
histroy -- root的历史命令
/home/.bash_history -- 查看普通帐号的历史命令
3- 检查异常端口
netstat -antlp|more -- 列出本机所有的连接和监听的端口
lsof -- 查看谁在使用某个端口
4- 检查异常进程
ps -- 查看当前系统进程信息
5- 检查开机启动项
/etc/rc.local -- 开机启动配置文件
/etc/rc.d/rc[0~6].d
6- 检查定时任务
crontab -l -- 列出某个用户cron服务的详细内容
crontab -r -- 删除每个用户cront任务
crontab -e -- 使用编辑器编辑当前的crontab文
7- 检查服务
chkconfig --list -- 查看系统运行的服务
8- 检查异常文件
9- 检查系统日志
HashMap中为什么引入红黑树,而不是AVL树呢1.概述开始学习这个知识点之前我们需要知道,在JDK1.8以及之前,针对HashMap有什么不同。JDK1.7的时候,HashMap的底层实现是数组+链表JDK1.8的时候,HashMap的底层实现是数组+链表+红黑树我们要思考一个问题,为什么要从链表转为红黑树呢。首先先让我们了解下链表有什么不好???2.链表上述的截图其实就是链表的结构,我们来看下链表的增删改查的时间复杂度增:因为链表不是线性结构,所以每次添加的时候,只需要移动一个节点,所以可以理解为复杂度是N(1)删:算法时间复杂度跟增保持一致查:既然是非线性结构,所以查询某一个节点的时候
西安华为OD面试体验开始投简历技术面试进展工作进展开始投简历去年一整年一直在考研和工作之间纠结,感觉自己的状态好像当时的疫情一样差劲。之前刚毕业的时候投了个大厂的简历,结果一面写算法的时候太拉跨了,虽然知道时dfs但是代码熟练度不够,放在平时给足时间自己可以调试通过,但是熟练度不够那面试当时就写不出来被刷了。说真的算法学到后期我感觉最重要的是熟练度和背板子(对于我这种普通玩家来说),面试题如果一上来短时间内想不出思路就完蛋了。然后由于当时找的工作不是很理想就又想考研了。但是考研是有风险的,我自我感觉自己可能冲不上那个学校,而找工作一个没成可以继续找嘛。本着抱着试试看的态度在boss上投了简历,
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion首先,我想避免一场关于语言的口水战。可供选择的语言有Perl、Python和Ruby。我想提一下,我对所有这些都很满意,但问题是我不能只专注于一个。例如,如果我看到一个很棒的Perl模块,我必须尝试一下。如果我看到一个不错的Python应用程序,我必须知道它是如何制作的。如果我看到RubyDSL或一些Ruby巫术,我就会迷上Ruby一段时间。目前我是一名Java开发人员,但计划在不久的将来
点击->操作系统复习的文章集目录操作系统线程线程是什么进程与线程的关系用户态/内核态操作系统资源管理内核态用户态内核态/用户态切换程序运行类型分析计算密集型IO密集型结合进程,线程来理解程序运行类型分析协程基础上下文切换协程协程为什么叫协作式线程?协程的优缺点操作系统线程典型问题:简述进程和线程的区别以下内容带您一步步了解线程是什么比进程更小的独立运行的基本单位-线程(Threads)线程的提出主要是为了提高系统内程序并发执行的程度,从而进一步提升系统的吞吐量,充分发挥多核CPU的优越性而设计的引入进程是为了操作系统更加方便地管理程序,使得多个程序能并发管理和执行而线程则是为了减少程序在并发执
文章目录华为OD面试流程1.mysql数据库建了两个字段,且设置了联合索引,如果其中有一个字段为空会出现什么问题?2.谈谈springIOC的理解,有什么好处,解决了什么问题3.谈谈springAOP的理解,切面编程有没有实际应用,有哪些注解,作用是什么,有那些应用场景?4.Erika和zookeeper有了解过吗,作用是什么,主要解决了什么问题5.谈谈JDK、JRE、JVM的理解,区别是什么6.谈谈对泛型的理解7.JVM的组成华为OD面试流程机试:三道算法题,关于机试,橡皮擦已经准备好了各语言专栏,可以直接订阅。性格测试:机试技术一面(本专栏核心)技术二面(本专栏核心)主管面试定级定薪发of
几年前,我从一些Rails初学者指南开始学习Ruby/Rails。那时我已经学习了Rails的基础知识,例如模型和路由的一些约定优于配置,以及如何使用helpers等。但是,我并没有坚持多久,因为此后不久我发现了Sinatra,并决定我个人更喜欢它。不过,我最终真的爱上了Ruby,从那以后我写了很多Ruby,几乎没有一个是针对任何Rails项目的。然而,事实证明大部分可用的Ruby工作都是针对Rails应用程序的。所以我现在想再尝试一下Rails。现在,该引用资料很棒并且有很多有用的信息,但我只查看了我需要的特定内容的引用资料,而没有记住。但我不太可能在引用资料中看到像script/c
主要来自.NET背景,我非常喜欢(无论好坏)VisualStudio。不过,我现在要去学校学习软件工程,我的第一个类是使用RubyonRails的XP(极限编程)。大多数情况下,我听说当您使用Ruby进行开发时,您往往会完全跳过整个IDE;我对这种可能性完全开放。不过,那里有IDE,因此似乎至少一些人仍然认为使用IDE是值得的。由于我非常熟悉VS,我只是想知道是否有人使用过RubyInSteel.从网站上看,它确实看起来不错。不过,我真的不知道它对一般RoR开发有多大用处或适用性,这就是为什么我认为我会把这个问题抛在那里。您使用过RubyInSteel吗?你对它的印象如何?它如何与其他
1,Camera基本工作原理答案:光线通过镜头Lens进入摄像头内部,然后经过IRFilter过滤红外光,最后到达sensor(传感器),senor分为按照材质可以分为CMOS和CCD两种,可以将光学信号转换为电信号,再通过内部的ADC电路转换为数字信号,然后传输给DSP(如果有的话,如果没有则以DVP的方式传送数据到基带芯片baseband,此时的数据格式RawData,后面有讲进行加工)加工处理,转换成RGB、YUV等格式输出。数据流是如何从sensor到APP的?上述描述结束后,在ISP处理后面的阶段,数据会进行分流,分为capture,preview,video等以供后续动作使用。例如
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我是一名经验丰富的网络开发人员,但只有一点点Ruby/Rails经验。我周一刚在一家Ruby商店接受面试,他们确实意识到我没有太多Ruby经验。除了我手边的2或3本Ruby书籍外,我还可以利用哪些其他资源来参加周末的Ruby速成类。顺便说一下,我在hostingrails上确实有一个最低限度的帐户,尽管我从未使用过它。我没有看到任何其他与搜索“rubyi
B-3:Linux系统渗透提权任务环境说明:服务器场景:Server2204(关闭链接)用户名:hacker密码:123456使用渗透机对服务器信息收集,并将服务器中SSH服务端口号作为flag提交;Flag:2283/tcp使用渗透机对服务器信息收集,并将服务器中主机名称作为flag提交;Flag:KipZ1eze使用渗透机对服务器信息收集&