渗透测试是一个自动化与手工结合的过程,自动化测试工具必不可少。
Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的Web网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。
1 | Web Scanner 核心功能 web安全漏洞扫描 |
1 | a 自动的客户端脚本分析器,允许对Ajax和Web2.0应用程序进行安全性测试 |
一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。
1 | 1.信息搜集: |
1 | 加入手工gc回收,尝试节省无用内存。 |
简单用法
1 | fscan.exe -h 192.168.1.1/24 (默认使用全部模块) |
图片
图片
Kscan是一款纯go开发的全方位扫描器,具备端口扫描、协议检测、指纹识别,暴力破解等功能。支持协议1200+,协议指纹10000+,应用指纹2000+,暴力破解协议10余种。
1 | usage: kscan [-h,--help,--fofa-syntax] (-t,--target,-f,--fofa,--touch,--spy) [-p,--port|--top] [-o,--output] [-oJ] [--proxy] [--threads] [--path] [--host] [--timeout] [-Pn] [-Cn] [-sV] [--check] [--encoding] [--hydra] [hydra options] [fofa options] |
图片
1 | ● SQL 注入检测 (key: sqldet) |
爬虫模式
1 | .\xray_windows_amd64.exe webscan --basic-crawler http://testphp.vulnweb.com/ --html-output xray-crawler-testphp.html |
代理模式
1 | .\xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output xray-testphp.html |
高级爬虫模式
1 | .\xray_windows_amd64.exe webscan --browser-crawler "https://a.a.cn/zdsys/" --html-output aqjg.mem.gov.cn.html |
免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
]]>clash 启动后会在 ~/.config/clash
目录生成配置文件。
1 | wget https://github.com/Dreamacro/clash/releases/download/v1.11.4/clash-linux-amd64-v1.11.4. |
1、把windows的订阅打开文件夹
2、讲对应的yml改成config.yaml
3、将此config.yaml替换到~/.config/clash里面的config.yaml
4、下载面板文件
1 | cd ~/.config/clash |
可以直接复制windows版本的clash里面的配置文件 然后修改少量的地方
在配置文件中加上/修改如下
secret就是api的访问秘钥 如果没有的话任何人都可以访问你的clash面板的api 不安全
1 | secret: xxxx |
修改后记得重启服务
然后就可以访问
访问到在线面板了 这里就是相当于自己部署了一个前端页面 跟随着clash启动 填入对应的api就可以查看到机器代理的情况了
那么对于我来说就是我的
1 | vim /etc/profile |
加上如下内容 其中端口号根据你的配置文件中指定的端口灵活修改就行
1 | export http_proxy=127.0.0.1:7890 |
最后重载配置文件
1 | source /etc/profile |
这里我们修改的是整个系统的代理配置 如果有更高优先级的配置例如 用户变量 可能会导致不生效 如果代理没有生效可以检查其他的地方是不是也设置了优先级更高的代理 例如当前bash设置的临时变量优先级就比系统优先级更高
1 | apt install screen |
1.docker打包
https://blog.csdn.net/m0_67402125/article/details/123869967
2.装载之前打包的tar文件,首先需要安装好你的docker,并运行。
执行命令装载到你的docker中
docker load< 你的路径/rabbitmq.tar
测试代理
curl myip.ipip.net –proxy http://127.0.0.1:7890
docker run -p 7890:7890 -p 8080:8080 -9090:9090 -itd –name shuize gylq:v1 bash
awvs 部署镜像
1 | docker search awvs |
1 | 默认账号密码: |
被动扫描
1 | xray webscan --listen 127.0.0.1:9999 --html-output xray.html |
验证存活
1 | httpx -silent -stats -l open-domain.txtls -fl 0 -mc 200,302,403,404,204,303,400,401 -o newurls.txt |
回显单个子域名、验证存活
1 | ./subfinder -d testexex.com --silent | ./ksubdomain v --silent --only-domain --stdin | ./httpx --silent -stats -fl 0 -o newurls.txt |
批量指纹扫描
1 | ./ehole finger -l url.txt -o result.xlsx |
回显单个子域名,并去重
1 | ./subfinder -d bibvip.com --silent | sort | uniq | ./ksubdomain v --silent --only-domain --stdin -o 1.log |
回显多种数据、验证存活
1 | ./subfinder -d bibvip.com --silent | ./ksubdomain v --silent --only-domain --stdin | ./httpx -title -td -status-code -title -follow-redirects -ip |
批量子域名第三方收集、去重
1 | ./subfinder -dL domain.txt --silent | sort | uniq | ./ksubdomain v --silent --only-domain --stdin -o 1.log |
子域名第三方收集、验证存活
1 | ./subfinder -dL domain.txt --silent | ./ksubdomain v --silent --only-domain --stdin | ./httpx --silent -stats -fl 0 -o newurls.txt |
批量子域名爆破收集
1 | ./ksubdomain e -silent --only-domain --dl domain.txt | ./ksubdomain v --silent --only-domain --stdin -o 5.log |
子域名爆破收集、存活验证
1 | ./ksubdomain e -silent --only-domain --dl domain.txt | ./httpx --silent -stats -fl 0 -o newurls.txt |
第二层域名爆破收集
1 | ./subfinder -dL domain.txt --silent | ./ksubdomain e --silent --only-domain --stdin |
第二层域名爆破收集、去重
1 | ./subfinder -dL domain.txt --silent | sort | uniq | ./ksubdomain e --silent --only-domain --stdin -o 1.log |
整体去重
1 | cat 5.log | sort |uniq > 6.log |
1 | nmap -n --unique --resolve-all -Pn --min-hostgroup 64 --max-retries 0 --host-timeout 10m --script-timeout 3m -oX 11.xml --version-intensity 9 --min-rate 10000 -T4 starfish.testexex.com |
1 | ./scan4all -l 11.xml -ceyeapi 2b8e073ef7b6cdd1ef7bfd571bd7ca4b -ceyedomain d1qc7a.ceye.io -csv -o output.csv -v |
1、-a -t3 查找主控件
2、-f -t3 查找光标所处的控件
]]>数据是由生产资料和资本构成的,大数据是由海量数据和针对海量数据处理的解决方案构成。
注意输出结果时写行标。并且多看看程序。
1 | #基础符号 |
一种“机器人程序”其作用是自动采集所有它们可以到达的网页,并记录下这些网页的内容,以便其他程序进行后续的处理
追求大的覆盖范围,对于网页中提取到的超链接会全收
对提取到的超链接进行过滤,只对特定网站或者特定领域的网站进行爬取
将待处理的中文字符串与一个“尽可能全面”的字典中词条按照一定的规则匹配
网络系统中的硬件、软件和系统中的数据受到保护,不因为偶然的或者恶意的愿意而遭到破坏、更改或者泄露,系统连续可靠正常的运行,网络服务不中断。(其实就是想尽办法让计算机正常运行以及正常运行的过程中不受干扰)
对计算机和计算机网络来说,破坏、揭露、修改、使软件或服务失去功能,在没有得到授权的情况下偷取或访问任一计算机的数据,都会被视为于计算机和计算机网络中的攻击。
就是个人或单位在网络上的身份证,数字证书能确保身份被认证,并且保证双方能安全放心的交换密钥。
数字证书的颁发、认证、更新和吊销
AH提供无连接的完整性、数据源认证和防消息重放
ESP:完整性校验、身份认证、防消息重复、消息加密
防火墙可以是软件,也可以是硬件。
基于网络层的防火墙技术,其核心是包过滤算法的设计,也叫做安全策略设计。包过滤防火墙读取流过它的每一个数据包的报头信息,然后用预先设定好的过滤规则与之逐条匹配,成功则转发,不成功就丢弃。
简单来说就是一张表,记录了哪些数据可以收,哪些包不能收,控制数据包流入
访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表,这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。
ACL是包过滤技术的一种实现
通过对行为、安全日志或审计数据,检测对系统的闯入的企图
VPN就是虚拟专用网,在公用网络上建立专用网络,和对方进行加密通讯
利用了隧道技术、加密技术、密钥管理技术和身份认证技术
网络监听是一种监视网络状态、数据流程以及网络上信息传输的工具
往程序的缓冲区写超出其长度的内容,造成溢出,从而破坏程序的堆栈,让程序执行其他命令
目的就是通过扫描知道一个计算机提供的服务,然后利用已知漏洞攻击
攻击类别有两种
ARP欺骗本质是把虚假的IP-MAC映射关系通过ARP报文发给主机,让其无法正确发送数据
]]>1、在录音之前
选择单声道
并且全部选1
2、在此选择单声道1
3、录用要点亮R,I是返音,M是静音此轨道,S就是单独播放此声道
4、还需要设置初始电平
5、大部分都在-12到-21之间跳动
6、黄色是音量调节,蓝色是声像(靠上是偏左声道,下是偏右声道)
7、出错可以用弹舌来进行标志,接着继续录制
8、音频分贝要求在-3到-6之间,我们如何调节
9、标准化处理
1、录完一段音之后,需要降噪、去口水、均衡,如果是用电子管压缩器之后还要做一遍均衡
2、第一步、降噪、去口水、电子管压缩器、均衡、强制振幅
3、收藏夹有一个开始记录收藏
1、电话音
2、车内音
3、门外音
4、内心混响
第一个是声音亮调节
第二个是控制声音的厚重感,往右声音很有分量
第三个是控制声音的远近距离感,越往左边贴近耳朵
第四个是中间那个大的,是控制空间感,左边空间感越小
第五个是微调
第六个是单声道和立体声基本不用动
最后一个,第七个是发送量
5、电视机
6、留声机
7、FFT电话音
8、变小孩声音
一个积累音效和背景音乐的过程,然后把它运用的恰当,让声音锦上添花。
1、建立自己的音效文件夹 。
2、简配,音效 3 - 5个, BGM 合适 价格 15-30 元
3、中配,搭建一组场景,音效 8 - 10, BGM贴切 5-80 元
4、精配:场景 2 - 3 个 , 音效 15 个 以上,BGM合理 100 以上
5、超精配:所有场景,所有的音效,BGM贴切, 200以上
不同的小说用什么音乐。
现代言情,BGM钢琴曲。
校园类,吉他。
官场的,沉郁大气
古风,古筝,笙,还有琵琶等,笛子,萧
玄幻类
恐怖类 BGM,Joseph Bishara Charlie Clouser
科幻类,神秘,科技感
配乐库:https://studio.ximalaya.com/music-web/index
6、简配定律
整体振幅,检查对轨文件。
①对轨完,报幕无背景音乐
②前三后五。( 留三秒插入背景音乐)
③干音>音效>BGM>环境音效 (BMG -24左右, 音效 -13左右)
④音效前置
⑤最好是用音效切换场景,转场音效
⑥音效、音乐、持续连贯,同一首音乐,不可重复
⑦音效尽量别单个出来,而是连贯的要有连续性。
⑧音乐无人声的,旋律不要烂大街的。
⑨工程文件保存三个月。以便替换。
⑩场景搭建
音效网站
音效素材下载 - 音效大全 - 配乐 - 觅知网 (51miz.com)
站长素材
干音处理
RX 8 Mouth De-click 口水
RX 8 Spectral De-noise 降噪 用learn
FabFilter Pro-Q 3 电话音
FFT 门外音
振幅统计和 FabFilter Pro-C 2 一起使用 最左边
干音处理流程
1、拉大振幅
2、处理口水-RX8
3、喷麦-RX8(框选处理,不要全选处理)-音损大
4、降噪Waves–NS1.Mono/NS1.Stereo(数值不能超过30,环境比较好,数值设在10以下)
采样降噪(降噪:50-70之间;降噪幅度与上面持平)再捉一次NS1
(底噪在-60–66之间就可以)
了解下黑客的目的
应急线索来源:
最简单的直接通过工具快速简洁
1 | 【睿眼Windows终端溯源取证系统】(真实平台,可实际操作) |
1、创建项目,下载采集器,尽量不使用常驻的
2、采集资产目录
3、结果会在data目录中,有一个zip的压缩包,将其上传,可以查看取证报告
4、取证报告
5、专家模式根据时间轴,判断黑客那个时间段做了啥
三要素
①时间②线索③黑客思路④权限(攻击者拿到的哪些信息)
客户端/服务端(WebShell)
1、发现一个Webshell
2、找到Webshell
3、Webshell的时间,找Web日志里连这个Webshell的IP,根据这个IP遍历所有日志
这个工具对于windows来遍历日志,一个文件搜索工具
FileLocator Pro 应急响应比较好多的
类似linux的grep
图形化比较好多的了,Nginx日志啥的
4、通过everything去查找这个时间点前后1-3天的所有创建文件
源IP什么时间的第一次连接是什么时间,Webshell创建是什么时间,服务器第一次被这些IP访问是什么时间(根据情况判断对方是怎么攻击的)
5、服务器网络策略,这个服务器能不能对外联网,CS,或者NPS隧道(完全禁止—>,DNS,ICMP协议)
6、限于找Web漏洞以及隐藏的Webshell,以及不死webShell(Mysql触发后门,NTFS隐藏了解)
7、端口复用,Apache插件,端口重复使用
8、Web服务器失陷了(Linux),翻SSH公钥,翻配置文件(数据库PHPXML),History(用户名,有多少台机子),进程(运营)
应急响应步骤
1、Tomcat漏洞利用成功,流量是实时;
2、断网
3、确定线索,漏洞利用成功(修复漏洞后尽快上线,确定有没有横向的动作),WebShell上来了(关心有没有横向渗透工具 NPS,SSF),还是内网渗透,后渗透(确定影响范围)等,第一次接触的时间,到目前为止多久
1、通过IOC、恶意域名、恶意ip、恶意HASH、DGA域名
2、检测模型(NPS上线了,CS上线了,SSF挂出去)
这里推荐一个工具LiveTcpUdpWatch实时去查看进程的情况
Sysmon日志实时记录,因为是微软的,所以很方便
Process Monitor
可以看到很详细的信息,但是得一直开着,可能没有Sysmon方便
AppNetworkCount,也是对应的网络链接的工具
DNS缓存记录
pcap.honeynet.org.my/v1/
如果你遇到流量包不知道怎么分析
MD5的威胁
怎么确认内存马呢
第一种叫注入内存马(进程PE类型)
第二种叫做Webshell的内存马
关于JSP的社工方式
3、利用关键词或者检测规则对内存文件进行检测
可以用grep临时检测
strings * |grep -i “Cknife”(哥斯拉生成的C刀内存马)
ReGeorg、Behinder、AES_BASE64、AES_RAW,检测内存里运行的哥斯拉,可以直接用RealFile:\|path.separator::
首先Ps aux|grep tomcat
就可以找到一些内存马的特征
ntfs流不死马,数据库触发后门不死马(通过触发器当检索到某字段存在某个字符就会写马)
1、有两台机器被控制了,属于个人主机。就两种情况①、钓鱼或者社工(养一个美女啥的发你东西,你点了之后上线),②有明显ms17-010补丁未打被smb内网打进来,可能存在,③更新包被替换了更新劫持,通过一些高端手法进来的劫持
发现,f3322.net pubyun 老牌的DDNS,动态域名解析
误报的应急响应
是内网到外网的代理服务器
应急响应三步骤
最终判断是误报
我们需要做的是检测、威胁发现、威胁溯源、应急响应、写报告
]]>意义
想通过IP直接找到人的
1、利用搜索引擎直接搜索ip
2、就是威胁情况,微步、qax啊,等等,可以做去澡的方式
3、主动探测,常见的端口和工具扫描
4、一些默认的web应用的溯源,还有常见的
5、c2的一些端口什么的,肉鸡漏洞
6、网络已经有的大库,无需等待扫描时间直接获取结果
百度,就可以直接ip定位。
1、判断ip是不是静态ip
ipip.net/ip.html,这个网站中判断,查rDNS记录,可以判断是否是静态ip,当rDNS中包含static就是静态
ipwhois.cnnic.net.cn,这个备案信息查询网站看地址状态这个是做更准确的判断
Fofa,去看看
尽量使用虚拟机去打开网站,防止泄露,无痕模式查看
或者用nmap查看开放端口
空间搜索可以看到对应的服务
censys.io,去扫段地址
若非业务端口比较多可能是小区的范围动态ip
若看到c段,有很多http的话80或者443网页页面的时候,基本都是IDC出口或者企业出口的,静态ip
ip定位
高德地图amap.com/
通过搜周边,搜公司可以确定对方是不是准确的
查c段也可以定出来动态ip啥的
http://virustotal.com,可以研判ip,主要是查国外ip比较准,反查域名啥的
https://www.virustotal.com/gui/ip-address/45.32.44.18/relations
常见的vpn端口
获取的攻击者ip地址:202.5.17.76
1、直接ip定位查看相关位置和IDC和应用场景,动静态判断等
2、在去vt看看对应的,可以看到运营商都是HOSTUS,也可以通过https://myip.ms/来搜索
3、通过百度搜索hostus判断是一个vps,然后直接端口扫描,用空间测绘,Nmap等
4、发现8080是有一个nps,明显黑客工具,现在就是通过端口看能不能拿下了
5、通过反查域名看看有没有办法查到其他子域名的信息,直接微步查到对应:flasih.com.cn域名
6、接着发现子域名可以直接访问该网站,和ip解析对应
7、直接通过奇安信和站长工具的反查域名对应的注册信息判断
姓名:于涌泉
公司:北京新网数码信息技术有限公司
位置:北京市海淀区中关村南大街9号理工科技大厦1206室
8、得到了对应的姓名和邮箱qq,就可以看看相关的域名,通过站长工具,因为奇安信的研判有些功能没开放,站长虽然无法看姓名,但是奇安信可以,通过反查姓名可以看到其他的两个域名,对比公司相同的whois中的属性。
9、得到的姓名和QQ邮箱和公司,可以直接地理定位
格式书写,其他信息可以直接用社工库搞出来
下方为网图
获取到的攻击者的ip地址:161.35.76.1,172.105.87.139,182.18.152.105,46.101.232.43,47.56.86.44,80.246.28.44
1、一个个来,161.35.76.1查过是德国的ip,vt可以看到,可以看到供应商是https://www.digitalocean.com/这个网站的
2、看看第二个172.105.87.139,继续搜,可以看到是另一个供应商Linode
3、接着可以从反查出来的域名进行跟踪可以看到多出一个104.21.72.185
4、通过跟踪上方查到的ip,我们可以看出明显是个cdn,可以查cdn的网站:https://tools.ipip.net/cdn.php查询IP,这些就无意义回去。
5、小技巧:通过攻击时间也可以判断对方是否是国人做的事,点开对方用过的攻击文件,可以清楚看到时间,可以做一些估判
6、接着看第三个ip的182.18.152.105,差不多的数据,小知识:https://search.censys.io,可以看一些记录过的端口开放的http形式的源码,可以来帮助溯源
7、直到我看到47.56.86.44这个ip的时候,查一下信息,明显阿里云的,丢vt里面反查其他信息
8、谷歌可以找到反查域名的一些沙箱分析
9、我们点开对应的可以看到的cobaltsttrike文件
10、在登陆账号之后可以看到样本关联
11、这里可以看到规则来源,也可以去referer看
12、可以通过github搜对应代码,判断规则是什么时候写的
13、通过创建时间等判断确实是2018年开始搞的,所以确定是这个组织的木马apt_darkhydrus,威胁情报定义是在2018到2021年可以确定是这个。
所以结果是判定,我们是被某组织攻击,报上情况即可。
假设蜜罐捕获到了百度ID:1605026515
1、贴吧私聊,可以拿到对方的用户名
https://tieba.baidu.com/im/pcmsg?from=1605026515
接着和我的主页中的id组合一下https://tieba.baidu.com/home/main?id=tb.1.e91be300.Dn6FJFYpKSr4DujeYUGLzQ&fr=userbar&red_tag=0326503131,就可以看到他的发帖主页
3、可以通过一些帖子发现他的地理位置和毕业时间还有学校,可以发现几个关键字:2017年 中南大学 录取通知书
4、直接搜一下关键字
5、初步锁定有一个信息安全
得到的四组数据
湖南省 | 黄峰 | 男 | 汨罗市一中 | 695 | 理工A类 | 信息安全 |
---|---|---|---|---|---|---|
湖南省 | 李跃峥 | 男 | 汨罗市一中 | 691 | 理工A类 | 应用物理学 |
湖南省 | 向燚鑫 | 男 | 汨罗市一中 | 698 | 理工B类 | 精神医学 |
湖南省 | 周添吉 | 男 | 汨罗市一中 | 661 | 理工C类 | 护理学 |
6、继续往下看
7、查看一下主办方信息关于-极光网络安全实验室,可能存在人员信息
8、实验室官方,发现有许多成员,是中南大学的实验室好像,然后可以看到2017级的成员,根据我们的判断一样
9、点开链接发现是对方的博客,可以直接在关于页面直接看到
10、关于页面发现联系方式
1 | QQ: 2362929771 |
11、根据加qq的基本信息可以看到,很可能是我们要找的目标
12、对应他的信息,可以查其他人的信息来验证,其他信息可以通过社工库判断了,基本可以判断了
假设手机号159******89
集号吧:https://www.jihaoba.com/haoduan/152/changsha.htm
152 ****
,然后可以看到前7位并不多,可以直接爆破,后门四位****
手机号一般十一位,后面4位可以找一个他可以登录的位置爆破
然后通过某个中南大学的登录地方,爆破其他手机号,可能会爆破出很多人
1、不管做溯源/反制/攻击不允许客户网络
2、不允许在客户网络里连自己的马
百分之99的溯源可能都会失败,所以多学姿势,有时候一些木马的pdb路径也可以找到对应的用户名或者qq号,小思路
了解下黑客的目的
应急线索来源:
最简单的直接通过工具快速简洁
1 | 【睿眼Windows终端溯源取证系统】(真实平台,可实际操作) |
1、创建项目,下载采集器,尽量不使用常驻的
2、采集资产目录
3、结果会在data目录中,有一个zip的压缩包,将其上传,可以查看取证报告
4、取证报告
5、专家模式根据时间轴,判断黑客那个时间段做了啥
三要素
①时间②线索③黑客思路④权限(攻击者拿到的哪些信息)
客户端/服务端(WebShell)
1、发现一个Webshell
2、找到Webshell
3、Webshell的时间,找Web日志里连这个Webshell的IP,根据这个IP遍历所有日志
这个工具对于windows来遍历日志,一个文件搜索工具
FileLocator Pro 应急响应比较好多的
类似linux的grep
图形化比较好多的了,Nginx日志啥的
4、通过everything去查找这个时间点前后1-3天的所有创建文件
源IP什么时间的第一次连接是什么时间,Webshell创建是什么时间,服务器第一次被这些IP访问是什么时间(根据情况判断对方是怎么攻击的)
5、服务器网络策略,这个服务器能不能对外联网,CS,或者NPS隧道(完全禁止—>,DNS,ICMP协议)
6、限于找Web漏洞以及隐藏的Webshell,以及不死webShell(Mysql触发后门,NTFS隐藏了解)
7、端口复用,Apache插件,端口重复使用
8、Web服务器失陷了(Linux),翻SSH公钥,翻配置文件(数据库PHPXML),History(用户名,有多少台机子),进程(运营)
应急响应步骤
1、Tomcat漏洞利用成功,流量是实时;
2、断网
3、确定线索,漏洞利用成功(修复漏洞后尽快上线,确定有没有横向的动作),WebShell上来了(关心有没有横向渗透工具 NPS,SSF),还是内网渗透,后渗透(确定影响范围)等,第一次接触的时间,到目前为止多久
1、通过IOC、恶意域名、恶意ip、恶意HASH、DGA域名
2、检测模型(NPS上线了,CS上线了,SSF挂出去)
这里推荐一个工具LiveTcpUdpWatch实时去查看进程的情况
Sysmon日志实时记录,因为是微软的,所以很方便
Process Monitor
可以看到很详细的信息,但是得一直开着,可能没有Sysmon方便
AppNetworkCount,也是对应的网络链接的工具
DNS缓存记录
pcap.honeynet.org.my/v1/
如果你遇到流量包不知道怎么分析
MD5的威胁
怎么确认内存马呢
第一种叫注入内存马(进程PE类型)
第二种叫做Webshell的内存马
关于JSP的社工方式
3、利用关键词或者检测规则对内存文件进行检测
可以用grep临时检测
strings * |grep -i “Cknife”(哥斯拉生成的C刀内存马)
ReGeorg、Behinder、AES_BASE64、AES_RAW,检测内存里运行的哥斯拉,可以直接用RealFile:\|path.separator::
首先Ps aux|grep tomcat
就可以找到一些内存马的特征
ntfs流不死马,数据库触发后门不死马(通过触发器当检索到某字段存在某个字符就会写马)
1、有两台机器被控制了,属于个人主机。就两种情况①、钓鱼或者社工(养一个美女啥的发你东西,你点了之后上线),②有明显ms17-010补丁未打被smb内网打进来,可能存在,③更新包被替换了更新劫持,通过一些高端手法进来的劫持
发现,f3322.net pubyun 老牌的DDNS,动态域名解析
误报的应急响应
是内网到外网的代理服务器
应急响应三步骤
最终判断是误报
我们需要做的是检测、威胁发现、威胁溯源、应急响应、写报告
1、http
2、smb
主要看一些关键字就行了
3、vnc
一、蚁剑流量特征User-Agent: andSword/v2.1,包体有,1、url编码,2、一些关键函数ini_set,返回包会有路径特征
二、这个是蚁剑chr之后的特征
三、Cknife的流量特征,Cknife的一个post参数,action的A、B、C对应不同功能,B对应的目录信息,C对应读取文件信息
四、Fastjson利用失败特征
根据rmi或者ldap的利用方式特征发现,@type就能判断
五、PHPstudy后门利用的流量
特征就是Accept-Charset:放入了base64编码请求命令,就是平phpstudy的漏洞
六、Shiro利用流量
特征Cookie:rememberMe=deleteMe,这个特征无回显,无法判断是否执行成功。有种是有回显的,可以查查,一般情况无回显
七、Structs2-045
特征:Content-type的处有命令执行
八、ThinkPHP5.0.23-rce
有个post,和一个get型的rce利用方式
九、Tomcat-put写入
返回201就是上传成功
十、Weblogic rce
一、哥斯拉流量误报
都是post请求,没GET请求
1 | 【睿眼沙箱系统】(真实平台,可实际操作) |
1 | 【睿眼Windows终端溯源取证系统】(真实平台,可实际操作) |
1 | 【睿眼Linux终端溯源取证系统】(真实平台,可实际操作) |
1 | 【睿眼Web攻击溯源系统】(演示环境) |
1 | 【睿眼网络攻击溯源系统】(演示环境) |
hw期间不应该存在agent被卸载,被卸载一定要注意。
在小铃铛的话,我建议一直盯着小铃铛自动刷新比较好。一定要把所有危险程度的,高中低位的各种告警
这个是在hw的时候,一定要关注的部分
我总结一下大部分的会做的事,看小铃铛,听声音,三大功能模块。资产清点
能够快速定位到有问题的资产和更新,风险发现
是需要给客户做整改的,需要给客户一些最新的风险数据信息,入侵检测
就是整个hw期间需要监控的,尤其是web命令执行的告警,盯住消息系统,什么时候的信息都需要关注agent的离线和卸载。
建议:有告警就上报,不要擅自决定。所有决定跟客户商量
hw:分为两个,就是溯源,还有提前监控抑制,溯源到最后给黑客画像也是对的。
]]>盯着监控,明确清楚,我们的产品分linux和windows两大功能树,不是一个综合的高级界面,一些通用功能,小铃铛是通知告警的入口,红色数字实时刷新表示未读的告警通知,
各项功能的基础,所有的功能模块 都是基于每台机器的资产清点来搞的,资产清点是主要的,其他模块都是基于资产清点来检测的,病毒查杀使用的比较少
linux和windows差不多的视图界面
基本主机的资产数据,操作系统,业务分组等,管理信息
操作系统本身的账号,包括账号的各项属性和密码属性
根据进程采集的信息,每台机器到底运行了哪些软件应用
按照每一个数据库清点出来的种类分类
全部web应用 类似phpcms,第三方的
系统安装包,linux的,rpm,java,各种,jar,Spring Boot项目包
每台机子运行的端口,对应的服务
cpu内存三大件
有哪些中间件什么的在运行
根据中间件判断开放的web站点,目录,端口等
web开发的框架,fastjson的漏洞啥啊,各种 spring MVC等,spring boot啥的框架都有漏洞
系统启动项
计划任务项
系统已经有的内核模块
举个例子:fastjson爆0day,尽快去找找所有fastjson的机器版本是不是在影响范围,如果不能捕捉到新的补丁,我们应该及时在我们机器中 对存在漏洞的机器进行沟通如何修复和上报同步,在做值守的时候,在告警的时候,也可以去查找每一台的机器,去单台机器的所有资产清点界面,能够很详细的展示出每一台机器的资产情况,包括风险情况,入侵事件等或日志
系统账户的一些详细的字段
例如:很多客户在做风险整改,如果客户想马上看到风险整改的效果的话,必须做一次资产清点
,也可以做单台的,也可以做全量的,点更新数据
所有的agent都会更新数据,在单台界面点更新数据的话,就是单台更新数据,一定要更新数据,如果整改之后,做好了更新之后,才能进行风险探测和扫描,每天凌晨2点都会完成资产的清点,如果客户不是当天要的话,就可以第二天上去就可以看到新数据
客户环境有域控的话,建议还是域账户清点还是需要看看。windows和linux多大区别,只是linux有完整的,一台机器有资产数据,也有风险数据,但是windows没有所有的。只有资产清点
如果发现绿色的机子突然少了,或突然断了就需要及时通知,资产清点部分
windows只有安全补丁和弱密码检测,linux有许多漏洞检测,风险检测三类,windows安全补丁就跟官方一样的自带的系统补丁更新,弱密码检测就是rdp的检测3389,linux的补丁会各个操作系统的厂商公告,各种应用组件的安全公告
通过查看,会成列,哪些补丁没有修复
,根据0day的漏洞告警,会有漏洞检测项
更多提示有哪些高危漏洞,我们建议客户修复的。风险提示
举例:如果客户现场在做整改的话,应该先修应用部分的漏洞,你们检测这么多,应该先修应用部分的漏洞,在漏洞检测在应用软件的部分等待他们直接邀请进来。
得跟客户交流的,扫描出来的结果情况的话,在linux支持应用弱密码的清单
举例:操作系统弱密码建议一定要修复,数据库的弱密码要跟业务部门商量修复,管理各种的弱密码控制台也需要整改一下,或者关掉
安全风险的话分三类
配置上的权限,存在私钥什么的,安装的业务应用,就是配置上的风险,tomcat运行软件,用root权限运行会有风险,web源文件在报错页面,服务器信息泄露啥的都会检查
时间校对啊
系统账号,过期时间,密码的复杂度啊,等等,三个风险项,100多个配置项,攻击漏洞上比较容易利用的,也建议客户尽量修复,漏洞检测中应用漏洞是最关键的
如果他不着急当天要资产整改的话 先做资产清点。linux中可以全部扫描,或者单机扫描,或业务分组,按照ip地址扫描等等,必须有agent,不建议值守期间再去做扫描按照定时任务来扫,hw期间可能都不能扫描,只读权限
linux和windows差别不大,但是linux和windows差别不大,单独linux特有的功能只有两项,本地提权,和可疑操作,windows没有
包含了两部分暴力破解和异常登陆互补的功能,只涉及到操作系统的账号相关,不会跟web应用账号密码或者数据库密码破解相关,这里只跟操作系统的账号本身
会显示爆破的攻击事件,攻击来源,攻击ip,攻击次数等,暴力破解有自动封停的设置,建议自动封停检测登陆会相对稳妥。可以手动去封停,所以不建议去封停,先上报再由研判组是不是攻击,再决定是否关停
都是一些登陆成功的记录,但是有可能登陆来源的ip或者登陆的账号,或者登陆的时间是不合法的,他会将一些晚上12点的一些登陆进行显示异常,应该在堡垒机ip登陆,但是突然其他终端ip地址登陆,区域或者时间,处理状态等
异常的规则,一般都是配置好的,也有可能功能配置的不太合理,得去跟原厂工程师进行策略调整
反弹Shell和本地提权是一块的叫做进程的行为,如果发现告警,一定要第一时间通知,特别是反弹shell,是攻击队已经进来的话。
主要处理主机ip和目标主机端口,如果是自己反弹自己,可能是一些误报,主机IP是Agent的ip,目标ip是外部的话,很大概率是真实的告警,那么shell已经被反弹出去了
提权一般好一些,很少使用
会检测而一些msf一些反弹木马,一些植入类似RootKit的这种,mimikatz等抓取内存的密码这些工具,或者frps做隧道的
我们的动态蜜罐,这块蜜罐就是伪装端口,是根据客户实际会用的那些资产配的蜜罐。也梳理了常见的端口。是为了捕获到攻击者访问的某一个端口
比如横向的,7001的反序列化,攻击进来,我们可以溯源信息,提供的用户很方便,可疑ip访问的我们机器的端口
可以方便帮客户找到源头,都是有可能是被攻破机子的跳板。这些云IP也指的送去有研判组
最最最核心的两个功能之一
所有Agent都会在资产清点,都会自动识别出来资产的目录,但是有部分机器存在因为配置文件一些特殊情况,无法特殊识别的,一定要注意。如果发现有一些机器的web站点是无法梳理出来的,一定要在自定义目录里面加进去。作为他的监控目录,才能确保所有传上来可能的webshell,我们都能捕捉到。我们的web后门包含两个引擎,第一种引擎是常规的,主要是基于正则匹配的,就是比较常见的危险函数,没有什么变形的,都是在正则的规则里面都会有。第二种引擎就是雷火引擎,是根据语法分析,按照文件的执行逻辑去推算这个结果,演算,做一些等价的还原,会看看是否存在一些混淆或者绕过定制webshell等,webshell后门的功能也是客户现场最多报警的。一些可能现场开发组的一些web代码的检测,也会告警,需要去研判组分析的
一些检测数据,都去详情 下载文件,上报研判组,雷火引擎会带这个标志,webshell的后门会实时检测,所有会有很多客户,在原来一些存在的后门文件都给发现出来,把以前一些历史遗留的一些后门给清理,同样也是需要研判分析,只要看到告警,都要去分析。
建议自主告警研判,白名单规则,不是自己能加就加的,我们主要是告诉和上报,不要直接自己处置。只是单纯判断这个webshell是否是一些真实的黑客攻击就好了
已知恶意样本,一定是webshell,一定是命中的要上报
中危和低位一般都是自己去看看。有能力的话自己看就好。Agent比较多的话,有类似的样本的话,建议如果是误报,看上去同样的文件,直接自己记录成误报就好。根据已经判断过的结果是可以去推倒
出现告警第一时间反馈,如果能力不足就丢给二线去,或者原厂去支持是否误报。第一时间将报警抛出来,客户端要进行相应的跟进和处理。客户有时也能看出来是否是误报
对一些已知的误报,webshell除非已知样本,数据库后门的话。如果客户一直没删的话,又出现一条新的和以往一样,你要跟客户提一下,任何报警都应该都跟客户商量,让客户知晓,一定不能擅自做处置决定
规则大家都能看到有很多,系统的规则都可以选择开启和关闭,不建议任何的关闭
千万不要说这条误报多 我就关了,一旦把真实告警弄掉了,就完了
由于web命令执行本身是需要一定量加白的域名工作的,一定要让客户把Agent装完,然后我们开始攻击之前 一定要把降肝完,一定需要加白之后才能用否则会有大量的误报,尤其是正常的业务环境。不加白是无法找到漏洞或者新出RCE漏洞的。告警还是要记录,每天还有很多,同一段的ip大量高度类似,这大部分就是误报
否则一天可能就上万的告警,一定需要加白,否则没法看。能检测的规则,都尽量看看。
大部分都是Web的RCE着手的,包括今年的许多RCE的漏洞出来,也有很多的客户都是通过RCE攻击进来的,一定要多注意,Web安全命令执行
监控管理:一定要多打开,有没有啥突然关的agent,一定要都打开,来保证你收到的数据是对的。
一般情况,这Web命令执行每一条告警都代表一台机器被拿下,所以这块一定要注意,也是需要去加白域名的。
是通过bash的一个审计插件,去查询linux在bash上的操作命令,而且会把他和内置的规则进行匹配。命中规则就会有告警,审计到执行的命令,匹配登陆来源。可能是登录到机子上执行的命令,要及时上报
总结:最重要的web后门和web命令执行这两个是最重要的告警,web命令执行一定要加白,保证我们漏洞告警准确!
不太需要
有个全量的日志告警
包含了许多的溯源的一些小工具,查找一些文件的特性等等。建议有研判能力的使用
需要关注的就是事件采集,系统设置啊
Agent的安装,生成安装命令等,客户已经搞好了一般不用管
agent不准的话,可以去跟原厂说就好了
一开始说的告警小铃铛,这个小铃铛是带铃声的,如果是用笔记本的话,建议大家把音量打开
会将agent的一些离线和卸载进行调整
有一些有危险程度的,建议把高中低危都要告警,不要放过任何告警,有的建议都打开
查看更多会查看到每个消息
每点击任何一个,都可以跳到对应的功能区域。除了关注入侵检测,和资产等,还要关注Agent被卸载,或者系统监控Agent离线超过一定时间等
hw期间不应该存在agent被卸载,被卸载一定要注意。
在小铃铛的话,我建议一直盯着小铃铛自动刷新比较好。一定要把所有危险程度的,高中低位的各种告警
这个是在hw的时候,一定要关注的部分
我总结一下大部分的会做的事,看小铃铛,听声音,三大功能模块。资产清点
能够快速定位到有问题的资产和更新,风险发现
是需要给客户做整改的,需要给客户一些最新的风险数据信息,入侵检测
就是整个hw期间需要监控的,尤其是web命令执行的告警,盯住消息系统,什么时候的信息都需要关注agent的离线和卸载。
建议:有告警就上报,不要擅自决定。所有决定跟客户商量
hw:分为两个,就是溯源,还有提前监控抑制,溯源到最后给黑客画像也是对的。
]]>软件的可维护性和可复用性(?)
软件可维护性:即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。
可复用性:复用又叫重用,是重复使用的意思。指软件能够被重复使用的难易程度
面向对象设计原则为支持可维护性复用而诞生
指导性原则,非强制性原则
每一个设计模式都符合一个或多个面向对象设计原则,面向对象设计原则是用于评价一个设计模式的使用效果的重要指标之一
面向对象设计原则概述
设计模式的分类
根据其目的(模式是用来做什么的)可分为创建型、结构型和行为型三种:
①创建型模式主要用于创建对象。
②结构型模式主要用于处理类或对象的组合。
③行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。
简单工厂模式:又称为静态工厂方法模式, 它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。
1 | 模式角色 |
工厂方法模式又称为工厂模式, 它属于类创建型模式。在工厂方法模式中, 工厂父类负责定义创建产品对象的公共接口, 而工厂子类则负责生成具体的产品对象, 这样做的目的是将产品类的实例化操作延迟到工厂子类中完成, 即通过工厂子类来确定究竟应该实例化哪一个具体产品类。
提供一个创建一系列相关或相互依赖对象的接口, 而无须指定它们具体的类。抽象工厂模式又称为Kit 模式,属于对象创建型模式。
–抽象工厂模式包含以下4个角色:
•AbstractFactory(抽象工厂)
•ConcreteFactory(具体工厂)
•AbstractProduct(抽象产品)
•ConcreteProduct(具体产品)
建造者模式
•将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示。
–建造者模式包含以下4个角色:
•Builder(抽象建造者)
•ConcreteBuilder(具体建造者)
•Product(产品)
•Director(指挥者)
重点:建造者的退化模式是通过合并抽象建造者、指挥者角色完成退化的。
•原型模式的定义
–利用一个对象,快速地生成一批对象.
–通过克隆方法所创建的对象是全新的对象,它们在内存中拥有新的地址,每一个克隆对象都是独立的
–
–原型模式包含以下3个角色:
•Prototype(抽象原型类)
•ConcretePrototype(具体原型类)
•Client(客户类)
•浅克隆与深克隆
–浅克隆(Shallow Clone):当原型对象被复制时,只复制它本身和其中包含的值类型的成员变量,而引用类型的成员变量并没有复制
浅拷贝:仅仅复制所考虑的对象,不复制它所引用的成员对象,例如Sheet s。
深拷贝:**两者都复制。**
•结构型模式**(Structural Pattern)**关注如何将现有类或对象组织在一起形成更加强大的结构
•不同的结构型模式从不同的角度组合类或对象,它们在尽可能满足各种面向对象设计原则的同时为类或对象的组合提供一系列巧妙的解决方案
适配器模式:将一个类的接口转换成客户希望的另一个接口,适配器模式让那些接口不兼容的类可以一起工作
适配器模式包含以下3个角色:
•Target(目标抽象类)
•Adapter(适配器类)
•Adaptee(适配者类)
•理解2:对象适配器(组合聚集)
•对象适配器模式是合成复用原则的典型应用。
总结
•模式优点
–将目标类和适配者类解耦,通过引入一个适配器类来重用现有的适配者类,无须修改原有结构
–增加了类的透明性和复用性,提高了适配者的复用性,同一个适配者类可以在多个不同的系统中复用
–灵活性和扩展性非常好
–类适配器模式:置换一些适配者的方法很方便
–对象适配器模式:可以把多个不同的适配者适配到同一个目标,还可以适配一个适配者的子类
是迪米特法则的一种具体实现
1.通过引入一个新的外观角色来降低原有系统的复杂度,同时降低客户类与子系统的耦合度
2.对客户屏蔽了子系统组件,减少了客户处理的对象数
3.使得子系统使用起来更加容易
4.降低了大型软件系统中的编译依赖性,简化了系统在不同平台之间的移植过程
1 | 外观模式包含以下2个角色: |
它对客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目并使得子系统使用起来更加容易
它实现了子系统与客户端之间的松耦合关系,这使得子系统的变化不会影响到调用它的客户端,只需要调整外观类即可
一个子系统的修改对其他子系统没有任何影响,而且子系统的内部变化也不会影响到外观对象
外观模式-模式缺点
–不能很好地限制客户端直接使用子系统类,如果对客户端访问子系统类做太多的限制则减少了可变性和灵活性
–如果设计不当,增加新的子系统可能需要修改外观类的源代码,违背了开闭原则
代理模式的定义
–引入一个新的代理对象
–代理对象在客户端对象和目标对象之间起到中介的作用
–去掉客户不能看到的内容和服务或者增添客户需要的额外的新服务
1 | 代理模式包含以下3个角色: |
•策略模式的定义
–又称为政策(Policy)模式
–每一个封装算法的类称之为策略(Strategy)类
–策略模式提供了一种可插入式(Pluggable)算法的实现方案
1 | 策略模式包含以下3个角色: |
命令模式
命令模式:**请求以命令的形式包裹在对象中,并传给调用对象。对请求排队或者记录请求日志,以及支持可撤销的操作。
命令模式包含以下4个角色:
•Command(抽象命令类)
•ConcreteCommand(具体命令类)
•Invoker(调用者)
•Receiver(接收者)
–观察者模式:
•定义了对象之间一种一对多的依赖关系,让一个对象的改变能够影响其他对象
•发生改变的对象称为观察目标,被通知的对象称为观察者
•一个观察目标可以对应多个观察者
状态模式
模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类不改变一个算法的结构即可重定义该算法的某些特定步骤。
(1)AbstractClass 抽象类
类中实现了模板方法,定义了算法的骨架,具体子类需要去实现,其他的抽象方法o1,2,3,4
(2)ConcreteClass 实现抽象方法
1 | 模板方法模式包含以下两个角色: |
位:计算机能表示的最小数据单位
字节:一个8位二进制数成为1字节
字:一个16位二进制数称1个字
机器数:计算机中的数据,分为数值数据和非数值数据
真值:机器数代表的真正的数值
字长:处理器的二进制位数(8位处理器字长为8位)
溢出别:补码运算时,若运算结果超过其表示的数的范围,则溢出。
技巧:由于溢出只可能出现在同号相加或异号相减运算时,且采用补码减法可转变为加法,最直观、最易于理解的溢出判定方法是:若正数加正数,结果为负数或负数加负数,结果为正数,则发生溢出。
Asciil码:
数字符0-9的Ascii码为30H~39H(48)
大写字母A-Z的Ascii码为41H-5AH(65)
BCD码:十进制可采用二进制编码来表示——本质还是十进制数
压缩BCD码:一个字节表示两位十进制数 16 - 0001 0110
非压缩BCD码:一个字节表示一位十进制数 16 - 00000001 00000110
BCD码本质上是二进制编码的十进制数
带符号的机器数表示方式:原码、补码、反码
8086:16位微处理器
8088:准16位处理器
8086和8088的区别:
EU(执行单元)
BIU(总线接口单元)
数据寄存器
变址寄存器:存放当前数据段的偏移地址
指针寄存器:用来存取位于当前堆栈段中的数据
段寄存器
控制寄存器
段寄存器
为什么要分段
8086/8088 20 2^20 =1 MB 寄存器16位,2^16=64KB,分段,把1MB空间分成若干逻辑段,每个逻辑段最大具有64KB的存储空间
分段的概念:
物理地址形成
题
堆栈
PUSH AX:;入栈
POP AX:出栈
8086/8088 CPU 引脚
指令格式
寻址方式
①立即数寻址——直接给出操作数
②寄存器寻址
③存储器寻址
3、寄存器相对寻址:有效地址是寄存器内容+位移
操作数的物理地址=16xDS+BX/SI/DI+位移|或者=16xSS +BP +位移
4、基址加变址寻址方式:有效地址是基址寄存器和变址寄存器内容之和
操作数的物理地址=16xDS + BX(基址寄存器)+ SI/DI(变址寄存器)|或 = 16xSS + BP +SI/DI
5、相对的基址加变址寻址方式
操作数的物理地址=16XDS+BX+SI/DI+位移|或=16XSS+BP+SI/DI+位移
语法规则
1、源操作数与目的操作数长度要一致
类型要明确
2、寄存器寻址与段地址 要对应
[]中只能使用基址和变址即BX/BP/Si/Di
4、同一组内的寄存器不能同时出现在一个[]中。
5、两个存储单元之间不能直接操作的
6、CS、IP、立即数不能做目的操作数 IP指令指针 EA偏移地址
7、当DS、ES、SS作目的操作数时,立即数不能做源操作数
8、可用段超越前缀修改默认段
数据传送指令
串操作指令
基础知识
1 | data segment |