原始问题:tasklist /svc结果如下(节选),pid 1560对应的svchost.exe是紧挨的2行,svchost.exe和1560只显示在第一行,单纯用tasklist /svc | findstr..."②用powershell处理字符串(虽然麻烦,但能看到代码之美、AI之美)让deepseek帮忙优化下代码做了如下改造,是因为最多的时候同一个svchost对应的服务有十几个,可能展示五六行,但其实有特点..." 和 "960" if ($tasklist[$i] -match "svchost.exe\s+960\s+") { # 输出当前行(svchost.exe 和 PID)...$tasklist[$i] # 输出下5行(最多的时候同一个svchost对应的服务有十几个,可能展示五六行) $tasklist[$i + 1] $tasklist..." 和 "960" if ($tasklist[$i] -match "svchost.exe\s+960\s+") { # 输出当前行(svchost.exe 和 PID)
图5.BazarBackdoor加载程序 “无文件”后门 在收件人启动下载的文件后,加载程序首先会休眠一段时间,然后才会连接到命令和控制(C2)服务器以下载后门有效载荷。...图7.XOR加密的有效载荷 最终,有效载荷将以无文件的形式注入“C:\Windows\system32\svchost.exe”进程。...图8.将后门注入svchost.exe 由于Windows任务管理中时刻都运行着大量的svchost.exe进程,因此大多数用户都不太可能会注意到什么时候多出了一个这样的进程,进而也就不会注意到后门的存在...此外,加载程序还被配置为在用户登录Windows时启动,这将允许后门的新版本被下载以及注入svchost.exe进程。 ?
系统初始化:当启动操作系统时,通常会创建很多进程,有些是同用户交互并替他们完成工作的前台进程,其它的都是后台进程,后台进程和特定用户没有关系,但也提供某些专门的功能,例如接收邮件等,这种功能的进程也称为守护进程...简单来说,就是当前运行的进程在事件没结束时就可以被换出,防止单一进程长时间独占CPU资源。下面会介绍很多抢占式调度算法:优先级算法、短作业优先算法、轮转算法等。...调度算法有很多种,各有优缺点,操作系统自己很少能做出最优的选择,那么可以把选择权交给用户,由用户根据实际情况来选择适合的调度算法,这就叫策略与机制分离,调度机制位于内核,调度策略由用户进程决定,将调度算法以某种形式参数化...注意 尽管使用内核线程可以解决很多问题,但还有些问题,例如:当一个多线程的进程创建一个新的进程时会发生什么?新进程是拥有与原进程相同数量的线程还是只有一个线程?...在很多情况下,最好的选择取决于进程计划下一步做什么?如果它要调用exec启动一个新程序,或许一个线程正合适,但如果它继续运行,那么最好复制所有的线程。
首先把进程放到后台 nohup python main.py & 然后保持退出终端继续运行 ctrl-z bg 输出在nohup.out里面 输入fg,可以把任务调到前台并取消 输入jobs...显示后台进程
一、思路 先与客户端建立好连接, 每次监听到一个客户端之后,都需要产生一个子进程去处理这个连接,然后父进程继续去等待监听,唯一一个要注意的点就是要使用信号来监听子进程是否结束,从而对其进行回收,防止僵尸进程的产生...&opt, sizeof(opt)); (3)bind函数 bind(lfd, (struct sockaddr*)&ser_addr, sizeof(ser_addr));b这个函数主要目的就是将服务器的地址结构绑定到套接字...lfd上,所以开始要设置服务器的ser_addr:ser_addr.sin_family = AF_INET, ser_addr.sin_port = htons(8888);ser_addr.sin_addr.s_addr...监听到了客户端后,就要开始创建子进程来对这个监听进行处理;pid = fork() 3、子进程处理通信 因为子进程不需要监听连接,使用可以close(lfd);之后便可以进行通信处理 void do_work...sizeof(buf)); tcp.Write(cfd, buf, n); tcp.Write(STDOUT_FILENO, buf, n); } } 4、父进程回收子进程
也学习了很多后渗透手法,比较受益匪浅。 前期渗透: 打点:(任意文件上传) 直接发现头像处任意文件上传,这里直接上传冰蝎即可。...边缘机提权:(利用烂土豆直接提上权限) 提权之后做进程迁移,直接把进程迁移到lsass进程中去。...这里的意思就是启动新进程的时候,系统无法将当前进程的令牌传递给新进程。也就是无法创建进程,所以只能通过其他方式来进行横向渗透。并且后期发现该域管理员密码已经进行修改。...总结: 经过这次实战总结了很多小的技巧。...,但是没有通过邮件服务器来拿下DC的权限。
也学习了很多后渗透手法,比较受益匪浅。前期渗透:打点:(任意文件上传)直接发现头像处任意文件上传,这里直接上传冰蝎即可。...边缘机提权:(利用烂土豆直接提上权限)提权之后做进程迁移,直接把进程迁移到lsass进程中去。...(4)尝试攻击exchange服务器,来中继攻陷主机(失败)这里就不放细节了,均以失败告终。...总结:经过这次实战总结了很多小的技巧。...,但是没有通过邮件服务器来拿下DC的权限。
S 13:02 0:00 \_ /usr/sbin/httpd 我们查看httpd 服务器的进程;您也可以用pgrep -l httpd 来查看; 我们看上面例子中的第二列,就是进程PID的列,其中4830...是httpd服务器的父进程,从4833-4840的进程都是它4830的子进程;如果我们杀掉父进程4830的话,其下的子进程也会跟着死掉; [root@localhost ~]# kill 4840 注:...是不是httpd服务器仍在运行?...[root@localhost ~]# kill 4830 注:杀掉httpd的父进程; [root@localhost ~]# ps -aux |grep httpd 注:查看httpd的其它子进程是否存在...,httpd服务器是否仍在运行?
Nginx服务器的进程有3类:主进程、工作进程、缓存进程 (1)主进程 Nginx启动时运行的主要进程,主要功能是与外界通信和对内部其他进程进行管理 主要工作内容 1)读取配置文件,验证有效性和正确性...2)建立、绑定、关闭 socket 3)按照配置生成、管理、结束工作进程 4)接收指令,如 重启、升级、退出 5)不中断服务,平滑重启、升级,升级失败的回滚处理 6)开启日志文件,获取文件描述符 (2)...工作进程 由主进程生成,生成数量由配置文件指定,工作进程生存于主进程的整个生命周期 主要工作内容 1)接收请求 2)将请求依次送入各个功能模块进行过滤处理 3)IO调用,获取响应数据 4)与后端服务器通信...,接收后端服务器处理结果 5)数据缓存,访问缓存索引、查询、调用缓存数据 6)发送请求结果 7)接收主进程指令,如 重启、升级、退出 (3)缓存进程 缓存进程有两类 1)缓存索引重建进程 nginx启动后由主进程生成...,在缓存元数据重建完成后就自动退出 该进程启动后,对缓存文件的目录结构扫描,在内存中建立索引元数据库 2)缓存索引管理进程 生存于主进程的整个生命周期 负责在索引元数据更新完成后,对元数据是否过期进行判断
在之前的文章中我们已经介绍了很多攻击远程桌面的方法,本篇文章我们继续来探究。 在渗透测试中,RDP 远程桌面连接的历史记录不可忽视,根据历史连接记录我们往往能够定位出关键的服务器。...中获取 RDP 连接凭据 svchost.exe 是一个 Windows 系统进程,svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。...许多服务通过注入到该程序中启动,所以当我们查看进程列表时会有多个该文件的进程。 当用户在目标主机上开启运行 RDP 远程桌面并通过远程桌面连接进行身份验证时,终端服务会由 svchost 进程托管。...但是基于 WIndows 身份验证机制的工作原理,RDP 连接凭据是以纯文本形式存储在 svchost 进程的内存中的。所以我们可以通过转储 svchost 进程的内存来获取 RDP 连接凭据。...由于查看进程列表往往会有多个 svchost 进程,所以我们要先识别是哪个进程托管了终端服务的连接。
在之前的文章中我们已经介绍了很多攻击远程桌面的方法,本篇文章我们继续来探究。 在渗透测试中,RDP 远程桌面连接的历史记录不可忽视,根据历史连接记录我们往往能够定位出关键的服务器。...image-20210713150050063 从 svchost 中获取 RDP 连接凭据 svchost.exe 是一个 Windows 系统进程,svchost.exe 是从动态链接库 (DLL)...许多服务通过注入到该程序中启动,所以当我们查看进程列表时会有多个该文件的进程。 当用户在目标主机上开启运行 RDP 远程桌面并通过远程桌面连接进行身份验证时,终端服务会由 svchost 进程托管。...但是基于 WIndows 身份验证机制的工作原理,RDP 连接凭据是以纯文本形式存储在 svchost 进程的内存中的。所以我们可以通过转储 svchost 进程的内存来获取 RDP 连接凭据。...由于查看进程列表往往会有多个 svchost 进程,所以我们要先识别是哪个进程托管了终端服务的连接。执行如下命令查询终端服务: sc queryex termservice ?
6、查看“svchost ”进程。 svchost. exe 是Windows XP系统 的一个核心进程。...svchost.exe 不单单只出现 在Windows XP中,在使用 NT 内核的Windows系统 中都会有svchost.exe的存在。...一般在Windows 2000 中 svchost.exe进程 的数目为2个,而 在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。 7、查看 网络连接 。...8、查看网络连接 当安装了WindowsXP的计算机做服务器的时候,收到端口 445 上的连接请求时,它将分配内存和少量地调配 CPU资源来为这些连接提供服务。...如果设置的值不正确,服务器的响应能力可能会受到影响,或者某个用户独占太 多系统 资源。
其中EVENTLOG下面有很多的子表,里面可查到以上日志的定位目录。...svchost.exe,进而筛选出svchost.exe进程中具体实现日志功能的线程,调用TerminateThread结束线程,破坏日志记录功能 特别的地方: 由于只结束了实现日志功能的线程,所以Windows...Event Log服务没有被破坏,状态仍为正在运行 (1)方法1 定位eventlog服务对应进程svchost.exe的pid 遍历该进程中的所有线程 判断线程是否满足条件 Windows Event...eventlog服务对应进程svchost.exe的pid Get-WmiObject -Class win32_service -Filter "name = 'eventlog'" | select...-exp ProcessId 找到svchost.exe的pid为7008 1 遍历该进程中的所有线程 使用PsList:pslist.exe /accepteula -d 7008 获取进程svchost.exe
多个服务共享一个Svchost.exe进程利与弊 windows 系统服务分为独立进程和共享进程两种,在windows NT时只有服务器管理器SCM(Services.exe)有多个共享服务...,随着系统内置服务的增加,在windows 2000中ms又把很多服务做成共享方式,由svchost.exe启动。...windows 2000一般有2个svchost进程,一个是RPCSS(Remote Procedure Call)服务进程,另外一个则是由很多服务共享的一个svchost.exe。...既然这些服务是使用共享进程方式由svchost启动的,为什么系统中会有多个svchost进程呢?...ms把这些服务分为几组,同组服务共享一个svchost进程,不同组服务使用多个svchost进程,组的区别是由服务的可执行程序后边的参数决定的。
继续查看其父进程 wmic process where Name="cmd.exe" get ParentProcessId 发现cmd.exe是由svchost.exe进程启动的,其位置也在c:\windows...采用svchost.exe ->cmd.exe->update64.exe的顺序杀掉进程,update64.exe进程不会重新再次启动,说明c:\windows\dell\svchost.exe就是用于负责启动并且保护...利用C:\Windows\dell*svchost.exe**进程安装一个windows系统服务,名为”* Windows32_Update”,其对应的可执行路径为: C:\Windows\dell\run64...根据经验,很多挖矿软件都自带命令行帮助文件,于是我们直接在命令行下运行该程序,结果却如下所示: ? 说明该程序应该是经过重新修改编译了。...有可能是先控制的服务器,然后进行内网渗透?岂不是全网沦陷了?汗。。。 6、带着疑问。。。继续前行吧,网络安全永远在路上。 * 本文作者:CGF99,本文属FreeBuf原创奖励计划,未经许可禁止转载
先看下我本机上的7680端口是哪个进程在监听: 用procexp这个工具看到进程PID是5952: 定位到这个具体的进程,竟然是一个svchost的进程,心情更加郁闷了!...因为svchost进程是Windows上很多系统服务的躯壳进程,Windows的很多系统服务都是通过这个svchost.exe来加载对应的服务dll来运行的。...因为Windows系统服务众多,所以你打开任务管理器可以看到一堆的svchost进程。而很多病毒木马也喜欢利用这一点,藏在svchost里面,这样可以隐蔽自己,不容易被发现。...所以当我看到是svchost的时候,心里更加慌了。 但我看进程的命令行,又不像是个恶意的程序。别着急,既然是服务,那就可以看到具体的服务描述。
当服务器有后台进程在运行时候,一般输出不会在命令行界面显示,需要一行命令来实时查看后台进程的输出结果先输入ps查看后台进程然后输入:python your_script.py > output.log...然后进入到后台程序的目录下面然后输入:tail -f output.log这样就可以实时查看后台进程输出了
次会用到我们上次写的多进程服务器 我们既然学习了 面向对象,就用面向对象来改进一个这个程序: import socket import re import multiprocessing class...self,): while True: cli_socket,cli_addr = self.tcp_server.accept() # 多进程实现调用该方法...self,): while True: cli_socket,cli_addr = self.tcp_server.accept() # 多进程实现调用该方法...: 1、导入该模块 import login 将动态部分的body修改成 body = login.login() 我们发现缺点很多,首先要导入模块,而且动态模块只有一个,要想有更多还有if判断。...但是WSGI就是负责和服务器交互的,我们需要在服务器中修改。
多进程TCP并发服务器 最初的服务器都是迭代服务器,服务器处理完一个客户的请求,再接受下一个客户的请求。但是我们的期望应该是一台服务器同时为多个客户服务。...实现并发服务器最简单的办法就是为每个客户均fork一个子进程。...[accept返回后客户-服务器的状态] 并发服务器的下一步是调用fork,下图是从fork返回后的状态。此时描述字listenfd和connfd是父进程-子进程共享的。...[fork返回后客户-服务器的状态] 下一步是父进程关闭已连接套接口,子进程关闭监听套接口。...[父子进程关闭相应套接口后客户-服务器的状态] 最后的结果是子进程处理与客户的连接,父进程可对监听套接口调用accept来处理下一个连接。
领取专属 10元无门槛券
手把手带您无忧上云