查看原文
其他

如何通过 Web 实现防御木马、病毒...... | 原力计划

Eastmount CSDN 2020-02-12

作者 | Eastmount
责编 | Elle
出品 | CSDN 博客

这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您们喜欢,一起进步。前文分享了分享机器学习在安全领域的应用,并复现一个基于机器学习(逻辑回归)的恶意请求识别。这篇文章简单叙述了Web安全学习路线,并实现了最简单的木马和病毒代码,希望对读者有所帮助。

作者作为网络安全的小白,分享一些自学基础教程给大家,希望你们喜欢。同时,更希望你能与我一起操作深入进步,后续也将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不容易,大神请飘过,不喜勿喷,谢谢!

PS:本文参考了千锋教育(DNSec-leo)的课程和小迪安全文章,结合自己的经验及资料进行撰写,也推荐大家阅读B站相关视频,详见参考文献。

下载地址:https://github.com/eastmountyxz/NetworkSecuritySelf-study


攻防安全及案例


1.网络安全学习路线

网络安全涉及的内容非常广,其主要的学习路线如下图所示。可以简单归纳为:

基础知识:Web发展简史、计算机网络、域名系统、HTTP标准、代码审计、WAF

信息收集:域名信息、 站点信息、端口信息、其它

内网渗透:Windows信息收集、持久化、Linux信息收集、痕迹清理、其他

常见漏洞:SQL注入、XSS、CSRF、SSRF、命令注入、文件读取、文件上传、文件包含、XXE、模版注入、Xpath注入、 逻辑漏洞 、业务漏洞、配置安全、中间件、Web Cache欺骗攻击

语言与框架:PHP、Python、Java、JavaScript、Ruby、C\C++、C#

防御技术:总体思路、 团队建设、威胁情报、风险控制、加固检查、蜜罐技术、入侵检测、应急响应、溯源分析

工具与资源:工具列表、推荐资源、爆破工具、下载工具、流量相关、嗅探工具、SQLMap使用

其他:认证方式、拒绝服务攻击、DNS劫持、Docker

注意,图中红线以下大家千万别触碰,我们作为安全人员或白帽子主要是在红线以上去获取信息,再报告相关单位或提醒相关网站进行漏洞修复,尤其是拒绝服务,其破坏性非常大。

未知攻,焉知防。未来的攻击方式将不局限于技术手段,往往会利用人性的心理弱点,使用社会工程学,结合多种方式来进行。同时,发动攻击的渠道和形式更加隐蔽,配套工具更加匪夷所思,不容易被察觉。总体表现为“更快速、更隐蔽、更狡猾”。

随着网络安全法实施,2018年国家成立网络安全一级学科,全国的信息安全人才需求量越来越大。2017年年底,工信部中国电子信息产业发展研究院(赛迪)发布中国当前对网络安全人才的需求大约为50万人,但 目前国内国家安全厂商的安全类工程师加在一起也不过5万人上下,人才缺口巨大,到2020年缺口将达到140万左右。供求比为1:10,是目前互联网人才供求差距最大的市场领域。

白帽子黑客是指热衷于研究网络与计算机,善于发现安全漏洞,他们并不做坏事,而是将漏洞及时提供给企业协助修复。大部分白帽子黑客是企业的安全人员,从事着安全建设与安全维护的工作。

2.安全威胁案例

安全威胁案例各式各样,比如数据包泄露、电信诈骗、京东泄露12G用户数据等等。

案例一:电信诈骗

当我们收到一些电话或短信时,可能会去点击按键或链接,这类钓鱼操作会导致我们的个人隐私泄露。2013年京东泄露了海量用户数据,其原理是黑客进行脱库(数据库)操作,脱库之后他们还会继续挖掘用户的隐私信息。用户在使用京东、淘宝等网站时,很可能会设置相同或相近的用户名、密码,通过撞库能获取更多有价值的信息,他们再卖这些黑产数据。

案例二:伪基站

伪基站是指移动小型基站,可以定位你的GPS位置,再发送欺骗短信或电话。比如,骗子伪装成95588,利用伪基站向手机发送短信,当用户按照短信提示登录钓鱼网址时,他的银行卡号和密码就会被泄露。

除了诈骗,还会建立联盟调查信息库,可以查看到开房记录、上网记录、常住暂住人口信息。

案例三:企业非法竞争

某个药业公司需要研发一种药,想对用户人群的需求和购买力做个评估,但是做调研的时间成本和人力成本太大了,他们就会想一些“捷径”。找到黑客,让其进某医院的病例数据库,把病例数据复制下来,直接分析。

再比如某网站为惊醒大家注意摄像头安全,实现如下图所示直播功能(Network live IP video cameras)。


案例四:AI骚扰电话

2018年315晚会曝光了AI+骚扰电话、WiFi探针盒子、APP索取敏感信息等产业链。

  • AI骚扰电话:又称智能骚扰电话机器人,AI电话机器人模拟一种甜美的声音进行电话推销,并应用于各个领域,如保险、地产、教育、汽车、贷款等。

  • WiFi探针盒子:当用户手机无线局域网处理打开状态时,会向周围发出寻找无线网络的信号,探针盒子发现这个信号,就能迅速识别出用户手机的MAC地址。而MAC地址可以转换成IMEI号,再转换成手机号码。为了获取更多用户个人信息,一些公司将这个小白盒子放在商场、超市、便利店、写字楼等,在用户毫不知情的情况下,搜集个人信息。

  • APP索取敏感信息:某些手机APP恶意收集用户隐私信息 ,并生成用户画像,通过电话、短信、微信、QQ等发送个性化广告。APP安装时,需要同意权限才能安装,此时它能读取用户信息,比如315晚会曝光的墨迹天气APP隐私泄露案例。


315晚上线程,安全人员演示了基于这三个产业链,通过APP抓包,获取一个人的身份证和个人信息全部完整暴露,截取信息包括WIFI、SSID号、密码信息等。

3.APT攻击高级

APT(Advanced Persistent Threat)高持续性威胁,利用先进的攻击手段对特定目标进行长期持续性网络攻击的形式。APT攻击的原理对于其他攻击形式更为高级和先进,其高级性主要体现在APT在发动攻击之前需要对攻击对象的业务流程和目标系统进行精确的收集。

APT攻击通常会综合利用前述各种攻击方式,其攻击具有目标明确、隐蔽性强、持续时间久、大量利用0day漏洞等特点。2018年全球十大APT攻击事件如下图所示。


APT攻击来源包括物理接触(IDC机房)、网络、操作系统、应用系统、数据、人员等,其中最重要的是人员。

下面简单分享国内外对网络攻击的态势感知或地图炮。国外的网站(https://cybemap.kaspersky.com)记录了网络攻击态势,每时每刻都会有各种攻击产生,地图上实时监控每个节点。

该产品是卡巴斯基公司的,主要用于监控安装其产品受攻击情况,并进行预警。

国内的网站主要是国家互联网应急中心,如下图所示。


病毒初探


1.关机BAT脚本

第一个脚本主要是调用“shutdown”实现关机。其基本步骤如下:

  • 新建文本文档

  • 输入 shutdown -s -t 600

  • 把txt改成bat

如下图所示,运行CMD可以查看shutdown命令的基本用法。

基本命令为:

 shutdown -s -t 600
//现在让系统600秒之后关机

shutdown -a
//终止关闭计算机
运行结果如下图所示:

新建“test.bat”并填写“ shutdown -s -t 600”,某些系统需要在“文件夹选项”中,显示“隐藏已知文件类型的扩展名”。

双击BAT文件即运行关机,如果需要取消,还是在CMD黑框中输入“shutdown -a”命令。

如果将其设置为启动项,每次开机都会执行这个程序,这需要在运行中添加即可,如下图所示。为什么要补充这个内容,因为很多病毒软件都是修改权限开机启动。


2.搞笑VBS脚本

VBS是基于Visual Basic的脚本语言。VBS的全称是Microsoft Visual Basic Script,其语言类似Visual Basic(VB)。VBS是微软WSH脚本的一种,WSH是Windows脚本宿主,支持vbs、js、wsh三种格式的脚本。脚本语言属于解释语言,编写VBS脚本没有什么特定要求,只要有系统带了WSH环境就可以,从WIN98就开始支持了。一个简单脚本文件的创建流程如下所示:

  • 新建文本文档

  • 输入 msgbox"Eastmount love CSDN, 你最帅!"

  • 把txt改成vbs

接着继续升级命令,尝试编写一个死循环脚本。

do
msgbox"Eastmount love CSDN, 你最帅!"
loop
运行之后会死循环弹出脚本,需要在任务管理器中结束任务 。

大家也可以尝试制作一些恶搞小脚本工具,比如蓝屏操作(建议虚拟机验证)。

  • ntsd -c q -pn winlogon.ex

  • txt修改为bat

  • 开始->程序->启动(右键)打开->把bat文件放入

注意,该操作主要是蓝屏让电脑重启,对电脑没有太大损伤,但也建议读者在虚拟机中进行实验。

接下来补充一段八年前的搞笑代码。注意,下面这段代码真的会在5分钟后重启计算机,需要读者输入“我喜欢猪”,点击完20只羊即可自动关闭重启操作。


set ws=createobject("wscript.shell")

sub shutfun(s)
select case s
case 1
ws.run"cmd.exe /c shutdown -s -t 300"
case 2
ws.run"cmd.exe /c shutdown -a"
end select
end sub

call shutfun(1)
do while a<>"我喜欢猪"
a=inputbox("你喜欢娜女神还是猪,快在对话框中输入喜欢猪,否则后果自负,快输""我喜欢猪"" ","输不输","")
loop
msgbox "早说就行了嘛"
msgbox"再输一遍我是猪!"
msgbox"我是猪!"
MsgBox"最后一次!"
MsgBox"如果你很快的点过去,不看的话"
MsgBox"我就要你踩我空间的!哼!"
MsgBox"从前有座山!"
MsgBox"山里有个庙."
MsgBox"庙里有个老和尚在讲故事."
ws.run"iexplore.exe https://blog.csdn.net/Eastmount"
msgbox"哎呀累了!数绵羊哄我睡觉"
for i=1 to 20
MsgBox i&"只绵羊"
next
msgbox"哎呀我困了,这次就饶过你吧,下次注意哦!"
msgbox"最后问个问题,我是不是大好人!"
call shutfun(2)
if inputbox("是不是","请选择","是")<>"是" then
call shutfun(1)
end if
PS:该文章简单叙述了病毒和木马,更多是普及Web安全学习路线和防御知识,后续作者会更深入的学习恶意代码、木马的知识。

3.文件格式修改

将文件格式修改或文档加密都是常见的病毒,比如永恒之蓝、勒索病毒等,它们就是将电脑内的所有资料、文档加密,当你要打开文件时,需要密码,此时通过比特币付费进行勒索。

下面这个小操作是将exe文件修改为txt文档。当遇到可执行的exe文件,会认为它是一个txt文档,用记事本打开,导致可执行程序运行不起来,这是就是这个病毒的原理。

  • 新建文本文档

  • 增加代码:assoc.exe=txtfile

  • txt修改为bat

双击运行bat文件之后,我们的可执行文件就变成了txt文件。


甚至打开CMD都是TXT文本文件,如下图所示。

接着需要执行下面的命令还原exe文件。

  • assoc.exe=exefile

还原的代码及效果如下图所示。

其他所有文件格式都转换为txt文件,如下所示。此时,如果隐藏文件扩展名,甚至可以修改图标伪装成目标应用,当用户点击时会执行这些破坏;但由于不知道目标是否有隐藏文件扩展名,还是不建议这种“本”方法。

assoc .htm=txtfile
assoc .dat=txtfile
assoc .com=txtfile
assoc .rar=txtfile
assoc .gho=txtfile
assoc .mvb=txtfile
...
4.网页JS代码

网页代码中也有类似的病毒,这里不进行详细叙述,只是贴几张效果图供大家学习。XSS主要使用alert()弹框信息,比如管理员身份信息,从而获取相关知识。当鼠标移动到该位置,onMouseover会触发alert()弹框操作。

再比如无限弹框操作如下图所示:

核心代码是鼠标移动到input控件时,调用pop()函数弹出200个窗口,打开新窗口通过window.open()实现。此时需要任务管理器结束进程才能结束所有页面。建议大家在虚拟机中玩玩就好,知道原理即可,因为后续XSS与它们有关。


木马初探


特洛伊木马(Trojan Horse)是指寄宿在计算机里的一种非授权的远程控制程序,这个名称来源于公元前十二世纪希腊和特洛伊之间的一场战争。由于特洛伊木马程序能够在计算机管理员未发觉的情况下开放系统权限、泄漏用户信息、甚至窃取整个计算机管理使用权限,使得它成为了黑客们最为常用的工具之一。

木马是一种典型的网络病毒,基于远程控制的黑客工具。它以隐蔽的方式进入到目标机器,对目标机器中的私密信息进行收集和破坏,再通过互联网,把收集到的私密信息反馈给攻击者,从而实现其目的的一种新型病毒。木马的特性包括:

  • 隐蔽性

  • 潜伏性

  • 再生性

木马的组成,经典的C/S架构:


客户端程序:安装在攻击者(黑客)方的控制台,它负责远程遥感指挥

服务端程序:木马程序,它被隐藏安装在被攻击(受害)方的电脑上

木马分为主动型木马和反弹型木马。其中反弹型是攻击方打开端口,被攻击方会扫描端口,主动连接。

常见的木马包括:

远程控制木马:冰河木马

键盘屏幕记录木马:QQ密码记录器

反弹窗口型木马:广外女生、网络神偷

DDoS攻击木马

下面简单演示大白鲨木马,安装如下图所示。



该木马需要配置程序,填写控制另一台电脑的IP地址及端口号。

点击“生成服务端”后会生成一个服务器,运行如下图所示,会提醒上线。

同时能获取远程硬盘文件、进程、服务、注册表等信息 ,但该木马比较古老,现在是否能用作者没有进行相关验证。切记绿色上网,否则后果自负。

后门是木马的一种,可以绕过或挫败系统安全设置,网页、线程、C/S、系统等都可以插入后门,甚至神经网络中都可以插入后门(对抗学习)。

在真实环境中,我们怎么把木马注入过去呢?这里会涉及到网络的一些基础知识,通过建立远程连接、网络传输等来发送恶意软件。其中木马的启动方式包括:

  • 自启动功能:添加到启动项、修改组策略、修改注册表、捆绑

  • 隐蔽性:木马本身的隐蔽性、运行时的隐蔽性、通信时的隐蔽性

既然木马的危害如此之大,我们又将如何预防呢?

木马的危害:盗取用户信息(网游账号、网银信息、个人隐私),利用即时通讯软件传播病毒,给电脑后门,使电脑更容易被黑客控制

木马的征兆:计算机反映速度变慢,硬盘不停读写,鼠标键盘不停使唤,窗口突然被关闭,新的窗口莫名其妙打开,网络传输指示灯一直闪烁,系统资源占用很多,运行某个程序没有反映,关闭某个程序时防火墙检测到非法操作


总结


这篇文章主要是简单叙述病毒和木马,更多是普及Web安全学习路线和防御知识,后续作者会更深入的学习恶意代码、木马的知识。同时,作者后续会结合Python监听鼠标操作、Python编写HOOK函数木马等,基础性文章,希望对您有所帮助。

原文:https://blog.csdn.net/eastmount/article/details/103018495

热 文 推 荐 

“微软让我损失了两亿美金!”

互联网诞生记

☞程序员该如何进行 SQL 数据库的优化?

抗住 60 亿次攻击,起底阿里云安全的演进之路 | 问底中国 IT 技术演进

4万程序员学了10万次的课程,今天,曝光背后的讲师!

俄罗斯“扎克伯格”:创建区块链版“微信”,27 岁身价达 2.5 亿美元

什么是数字孪生?

6 个重要模块,带你编写一个基于Golang的区块链公链demo!| 博文精选

你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存