精华内容
参与话题
问答
  • linux后渗透信息收集

    万次阅读 2020-08-26 15:54:11
    后渗透思路 查看系统中重要的目录与文件 /etc/resolv.conf #dns配置 .../tmp #部分软件的临时安装包等 ...收集当前用户信息网络配置和访问历史记录与操作记录等。 whoami #收集当前用户信息 uid #查看uid确定权限 hist

    后渗透思路

    查看系统中重要的目录与文件

    /etc/resolv.conf #dns配置
    /etc/passwd #存放用户账号
    /etc/shadow #存放用户密码
    /tmp #部分软件的临时安装包等
    /usr/local/etc #存放某些程序的配置文件
    各种 以 . 开头命名的文件,一般都是隐藏的
    在这里插入图片描述

    日志文件相关可查看这篇博客,linux日志相关

    收集当前用户信息网络配置和访问历史记录与操作记录等。

    whoami #收集当前用户信息
    uid #查看uid确定权限
    history #查看命令历史记录
    history -c #删除命令历史记录
    ps aux #查看当前运行的程序
    who -a #用户登陆时间
    在这里插入图片描述

    iptables -L -n #查看防火墙设置
    在这里插入图片描述

    uname -a #查看内核版本
    在这里插入图片描述

    查看目标主机上有哪些工具可用nc curl ftp gcc iptables nmap ssh telnet tftp wget sftp等

    举个例子:ls /usr/bin/ | grep ^nc$
    在这里插入图片描述
    ^与$为正则表达式的便捷符号,代表开始跟结尾。

    看网络配置 ifconfig,查看dns缓存 /etc/resolv.conf,扫子网

    在这里插入图片描述

    查 arp 大概看看内网中的主机可能有哪些

    在这里插入图片描述

    查看网关 route -n

    查看网关 route -n
    在这里插入图片描述

    netstat -rn #查看当前系统网关跟路由设置
    在这里插入图片描述

    检查主机上的tcp/udp连接

    netstat -antu
    在这里插入图片描述

    查看命令使用记录 locate .bash_history 接着用cat命令挨个查看

    在这里插入图片描述

    查看自动执行文件(定时)cat /etc/crontab

    在这里插入图片描述

    查看系统登陆用户以及之前登陆用户,命令分别为w,last,lastlog

    last

    显示用户最近登陆情况
    在这里插入图片描述

    w

    显示当前登陆用户的列表
    在这里插入图片描述

    lastlog

    lastlog命令用于显示系统中所有用户最近一次登录信息。
    在这里插入图片描述

    查看 passwd文件与shadow文件

    在Linux /etc/passwd文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性。系统管理员经常会接触到这个文件的修改以完成对用户的管理工作。这个文件对所有用户都是可读的。但是Linux /etc/passwd文件中都有些什么内容呢?

       root:x:0:0:root:/root:/bin/bash
    
      bin:x:1:1:bin:/bin:/sbin/nologin
    
      daemon:x:2:2:daemon:/sbin:/sbin/nologin
    
      desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin
    
      mengqc:x:500:500:mengqc:/home/mengqc:/bin/bash
    

    从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
      用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

    用户名(login_name):是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(😃,因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。

    口令(passwd):一些系统中,存放着加密后的用户口令字。虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多Linux系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。

    用户标识号(UID):是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。取值范围是0-65535。0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。

    组标识号(GID):字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。

    注释性描述(users):字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。

    主目录(home_directory):也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。

    登录Shell(Shell):用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。
    参考:/etc/passwd详解

    将敏感文件下载到本地然后进行密码破解

    展开全文
  • springboot整合kafka实现logback收集日志

    万次阅读 2018-06-25 19:38:53
    springboot中实现logback收集日志输出到kafka 异常容错机制,如果kafka服务宕机,输出到本地文件,可用其他方式重新加载local中的数据记录; 效率比对下:也可以尝试直接用kafka客户端写入到kafka中,手动针对异常做容错...

    springboot实现logback收集日志输出到kafka

    异常容错机制,如果kafka服务宕机,输出到本地文件,可用其他方式重新加载local中的数据记录;

    效率比对下:也可以尝试直接用kafka客户端写入到kafka中,手动针对异常做容错(如,写入文件)

    • 1.pom依赖
    • 2.logback.xml配置
    • 3.自定义KafkaAppender
    • 4.测试代码

    1.kafka相关pom依赖:(0.10.1.1版本)

    <dependency>
    	<groupId>org.apache.kafka</groupId>
    	<artifactId>kafka-clients</artifactId>
    	<version>${kafka.client.version}</version>
    	<scope>compile</scope>
    	<exclusions>
    		<exclusion>
    			<artifactId>slf4j-api</artifactId>
    			<groupId>org.slf4j</groupId>
    		</exclusion>
    	</exclusions>
    </dependency>
    <dependency>
    	<groupId>org.apache.kafka</groupId>
    	<artifactId>kafka_2.11</artifactId>
    	<version>${kafka.client.version}</version>
    	<exclusions>
    		<exclusion>
    			<groupId>org.slf4j</groupId>
    			<artifactId>slf4j-log4j12</artifactId>
    		</exclusion>
    	</exclusions>
    </dependency>
    

    sl4j依赖,自行选择;此处整合springboot,未单独引入

    2.logback的配置

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    	<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
    	<property name="LOG_HOME" value="logs" />
    	<property name="SYS_NAME" value="system" />
    	<property name="DATA_NAME" value="data" />
    	<property name="APP_LOGS_FILENAME" value="app" />
    	<property name="EVENT_LOGS_FILENAME" value="event_loss_data" />
       <!--  <springProperty scope="context" name="APP_LOGS_FILENAME" source="logback.filename.applogs"/>
        <springProperty scope="context" name="EVENT_LOGS_FILENAME" source="logback.filename.eventlogs"/> -->
    
    	<appender name="CONSOLE"
    		class="ch.qos.logback.core.ConsoleAppender">
    		<layout class="ch.qos.logback.classic.PatternLayout">
    			<pattern>[%d] [%-5level] [%thread] [%logger] - %msg%n</pattern>
    		</layout>
    	</appender>
    	
    	<appender name="FILE"
    		class="ch.qos.logback.core.rolling.RollingFileAppender">
    		<rollingPolicy
    			class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    			<!--日志文件输出的文件名 -->
    			<FileNamePattern>${LOG_HOME}/${SYS_NAME}/${APP_LOGS_FILENAME}.%d{yyyy-MM-dd}.log
    			</FileNamePattern>
    			<!--日志文件保留天数 -->
    			<MaxHistory>10</MaxHistory>
    		</rollingPolicy>
    
    		<layout class="ch.qos.logback.classic.PatternLayout">
    			<pattern>[%d] [%-5level] [%thread] [%logger] - %msg%n</pattern>
    		</layout>
    		<!--日志文件最大的大小 -->
    		<triggeringPolicy
    			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
    			<MaxFileSize>100MB</MaxFileSize>
    		</triggeringPolicy>
    	</appender>
    
    
    	<!-- 业务日志:写入kafka -->
    	<appender name="KAFKA-EVENTS"
    		class="com.demo.kafka.logs.KafkaAppender">
    		<layout class="ch.qos.logback.classic.PatternLayout">
    			<pattern>%msg</pattern>
    		</layout>
    	</appender>
    
    	<appender name="ASYNC-KAFKA-EVENTS"
    		class="ch.qos.logback.classic.AsyncAppender">
    		<discardingThreshold>0</discardingThreshold>
    		<queueSize>2048</queueSize>
    		<appender-ref ref="KAFKA-EVENTS" />
    	</appender>
    
    	<logger name="kafka-event" additivity="false">
    		<appender-ref ref="ASYNC-KAFKA-EVENTS" />
    	</logger>
    
    	<!-- 业务日志:异常 写入本地 -->
    	<appender name="LOCAL"
    		class="ch.qos.logback.core.rolling.RollingFileAppender">
    		<rollingPolicy
    			class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 基于时间的策略 -->
    			<fileNamePattern>${LOG_HOME}/${DATA_NAME}/${EVENT_LOGS_FILENAME}.%d{yyyy-MM-dd}.log
    			</fileNamePattern>
    			<!-- 日志文件保留天数 -->
    			<MaxHistory>10</MaxHistory>
    		</rollingPolicy>
    		<triggeringPolicy
    			class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
    			<!-- 文件大小触发重写新文件 -->
    			<MaxFileSize>100MB</MaxFileSize>
    			<!-- <totalSizeCap>10GB</totalSizeCap> -->
    		</triggeringPolicy>
    		<encoder>
    			<charset>UTF-8</charset>
    			<pattern>[%d] [%-5level] [%thread] [%logger] - %msg%n</pattern>
    		</encoder>
    	</appender>
    	<appender name="ASYNC-LOCAL"
    		class="ch.qos.logback.classic.AsyncAppender">
    		<discardingThreshold>0</discardingThreshold>
    		<queueSize>2048</queueSize>
    		<appender-ref ref="LOCAL" />
    	</appender>
    
    	<!--万一kafka队列不通,记录到本地 -->
    	<logger name="local" additivity="false">
    		<appender-ref ref="ASYNC-LOCAL" />
    	</logger>
    
    	<root level="INFO">
    		<appender-ref ref="CONSOLE" />
    		<appender-ref ref="FILE" />
    	</root>
    	<logger name="org.apache.kafka" level="DEBUG">
    	</logger>
    	<logger name="org.apache.zookeeper" level="DEBUG">
    	</logger>
    
    </configuration>
    

    3.自定义KafkaAppender

    上述logback.xml中的com.demo.kafka.logs.KafkaAppender

    package com.demo.kafka.logs;
    
    import org.apache.kafka.clients.producer.Callback;
    import org.apache.kafka.clients.producer.Producer;
    import org.apache.kafka.clients.producer.ProducerRecord;
    import org.apache.kafka.clients.producer.RecordMetadata;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.util.Assert;
    
    import com.demo.kafka.KafkaConfigUtils;
    
    import ch.qos.logback.core.AppenderBase;
    import ch.qos.logback.core.Layout;
    
    public class KafkaAppender<E> extends AppenderBase<E> {
    	//此处,logback.xml中的logger的name属性,输出到本地
    	private static final Logger log = LoggerFactory.getLogger("local");
    	protected Layout<E> layout;
    	private Producer<String, String> producer;//kafka生产者
    
    	@Override
    	public void start() {
    		Assert.notNull(layout, "you don't set the layout of KafkaAppender");
    		super.start();
    		this.producer = KafkaConfigUtils.createProducer();
    	}
    
    	@Override
    	public void stop() {
    		super.stop();
    		producer.close();
    		System.out.println("[Stopping KafkaAppender !!!]");
    	}
    
    	@Override
    	protected void append(E event) {
    		String msg = layout.doLayout(event);
    		//拼接消息内容
    		ProducerRecord<String, String> producerRecord = new ProducerRecord<String, String>(
    				KafkaConfigUtils.DEFAULT_TOPIC_NAME, msg);
    		System.out.println("[推送数据]:" + producerRecord);
    		//发送kafka的消息
    		producer.send(producerRecord, new Callback() {
    			@Override
    			public void onCompletion(RecordMetadata metadata, Exception exception) {
    				//监听发送结果
    				if (exception != null) {
    					exception.printStackTrace();
    					log.info(msg);
    				} else {
    					System.out.println("[推送数据到kafka成功]:" + metadata);
    				}
    			}
    		});
    	}
    	public Layout<E> getLayout() {
    		return layout;
    	}
    	public void setLayout(Layout<E> layout) {
    		this.layout = layout;
    	}
    
    }
    
    

    4.测试代码段

    //logback.xml中logger的name属性(输出到kafka)
    private static final Logger log = LoggerFactory.getLogger("kafka-event");
    	@Override
    	public void produce(String msgContent) {
    		if (StringUtils.isEmpty(msgContent)) {
    			return;
    		}
    		//打印日志
    		log.info(msgContent);
    	}
    
    

    公众号文章链接:

    https://mp.weixin.qq.com/s/NjHrSYIWWTqNRYx3hKH1Zg

    源码地址

    github:springboot-kafka-logs源码地址

    公众号搜索:DeanKano
    企鹅群号: 561932405

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • visio软件安装包各个版本收集整理

    万次阅读 多人点赞 2019-05-22 13:22:58
    包括visio2010,visio2013,visio2016,visio2019 百度云网盘 点击下载 需要注意的是xp系统只能装visio2010;win7可以装visio2019以下版本。visio2019目前只能win10和以上版本。 百度云网盘 点击下载 ......

    包括visio2010,visio2013,visio2016,visio2019 visio最新版本 百度云网盘   点击下载

    需要注意的是xp系统只能装visio2010;win7可以装visio2019以下版本。visio2019目前只能win10和以上版本。

    百度云网盘   点击下载

     

    各个版本安装各有差异 大致步骤如下;

     

    勾选“我接受此协议的条款”后,点击“继续”

     

    根据个人需要选择安装类型,建议选择自定义

     

    第07步:根据个人需要修改安装选项,然后选择文件位置

     

    在“文件位置”中点击右侧的“浏览”更改软件安装位置,建议安装到除C盘以外的磁盘,可在D盘或其它盘新建一个文件夹Visio

     

    第09步:在弹出的“浏览文件夹”对话框中选择新建的文件夹Visio

     

    确认安装位置后,点击“立即安装”

     

    等待安装完成(3-5分钟)

     

    第12步:点击“关闭”,关闭安装窗口

    从“开始”菜单找到Visio2016的路径

     

    展开全文
  • 2019最新《个人收集的C#教程》

    千次阅读 2019-05-14 18:03:26
    个人收集的C#教程 个人收集的C#教程 个人收集的C#教程 下载地址:百度网盘

    个人收集的C#教程 
     

     

     

    个人收集的C#教程 
     

     

     

    个人收集的C#教程 
     

     

    下载地址:百度网盘

    展开全文
  • win10装了一些杂七杂八的软件之后 一直出现这样的蓝屏 百度了好多还是没有解决 大概记录一下这个糟心的过程   ...因为工作需要所以一直不敢重装 ...过程1:(有人说重启就可以了,但是我的不行,所以用了点骚操作...
  • 详解 JVM Garbage First(G1) 垃圾收集

    万次阅读 多人点赞 2018-02-06 17:25:36
    详解 JVM Garbage First(G1) 垃圾收集器 前言 Garbage First(G1)是垃圾收集领域的最新成果,同时也是HotSpot在JVM上力推的垃圾收集器,并赋予取代CMS的使命。如果使用Java 8/9,那么有很大可能希望对G1收集...
  • 渗透测试之信息收集

    万次阅读 多人点赞 2018-11-16 11:11:41
    信息收集 域名信息的收集 公司敏感信息网上搜集 网站指纹识别 整站分析 服务器类型(Linux/Windows) 网站容器(Apache/Nginx/Tomcat/IIS) 脚本类型(php/jsp/asp/aspx) 数据库类型(Mysql/Oracle/Accees/...
  • G1垃圾收集器入门

    万次阅读 多人点赞 2014-12-12 18:04:18
    G1垃圾收集器入门 说明 concurrent: 并发, 多个线程协同做同一件事情(有状态) parallel: 并行, 多个线程各做各的事情(互相间无共享状态) 在GC领域: concurrent算法指GC线程和业务线程能并发执行; parallel指GC...
  • 900多个android开发小图标素材,很多精美小图标收集

    万次下载 热门讨论 2013-11-06 13:47:29
    900多个android开发小图标素材,很多精美小图标收集!真心很不错!
  • 数据收集

    千次阅读 2011-07-26 18:32:41
    数据收集Mr.林:数据收集是按照确定的数据分析内容,收集相关数据的过程,它为数据分析提供了素材和依据。这里所说的数据包括第一手数据与第二手数据,第一手数据主要指可直接获取的数据,第二手数据主要指经过加工...
  • 在此收集了一些厂商的服务器存储设备的默认管理口信息,以供大家日后运维时方便查找,若有错误的地方请指正,谢谢! 服务器管理口信息: 设备类型 设备型号 默认管理IP 默认用户名 默认密码 IBM...
  • 资源描述 连接 环境要求 CentOS 7.x + FastDFS+Nginx部署 https://github.com/happyfish100/fastdfs/wiki FastDFS集群部署 ... FastDHT 分布式哈希系统搭建(文件去重) https://github.com/happyfish...
  • 垃圾收集

    千次阅读 2019-12-07 22:15:52
    如果说垃圾回收算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现,java虚拟机实现规范中对垃圾收集器应该如何实现并没有任何规定,因此不同厂商、不同版本的虚拟机提供的垃圾收集器存在很大的差异,接...
  • 1.场景 使用ELK生态栈对Nginx的日志信息进行解析、存储...filebeat:只是收集客户端(能干的很少) kafka:缓冲,削峰(测试阶段没有选择使用) logstash:解析日志字段(grok表达式) 版本选择:7.4.2 3. nginx..
  • 今天遇到了电脑启动提示“你的电脑遇到问题,需要重新启动,我们只收集某些错误信息,然后为你重新启动。”,我在网上查了许多这方面的问题,主要总结为两点,一、软件,二、硬件。 首先说下这个提示,这是微软收集...
  • JavaScript垃圾收集

    千次阅读 2015-11-15 20:03:43
    JS具体自动垃圾收集机制(Java也有GC);也就是说,执行环境会负责管理代码执行过程中使用的内存。在编写JS程序时,开发人员不用再关心内存使用问题,所需内存的分配以及无用内存的回收完全实现了自动管理。这种垃圾...
  • 手机外设收集

    千次阅读 2012-06-26 11:43:27
    Darling Mobiles的返璞归真电话,支持任何手机/平板电脑。
  • 【5】JVM-垃圾收集

    万次阅读 2019-12-08 18:05:13
    知识点1:串行与并行收集器 知识点2:serial收集器 知识点3:ParNew收集器 知识点4:parallel收集器 知识点5:cms收集器 知识点6:g1收集器 ​​​​​​​ 知识点1:串行与并行收集器 串行回收:JDK1.5前的默认算法...
  • 深入理解Java虚拟机--垃圾收集器(二)

    万次阅读 多人点赞 2017-05-15 19:14:02
    垃圾收集算法 标记-清除(Mark-Sweep)算法 复制(Coping)算法 标记-整理(Mark-Compact)算法 分代收集(Generational Collection)算法 垃圾收集器 Serial收集器 ParNew收集器 Parallel Scavenge收集器 ...
  • flume-ng 1.6收集日志

    2015-11-19 02:02:52
    我在使用flume收集业务日志的时候出现两个问题: 1.对于log4j日志如果出现exception报错,这样日志就会出现多行,我使用的tail -f收集的日志,这个大家是怎么处理的? 2.对于业务日志在每天凌晨会出现日志切换,就是...
  • 标记-清除算法最基础的收集算法,效率也很高,但是会带来两个明显的问题: (1)效率问题 : 相对于复制算法而言。 (2)空间问题(标记清除后会产生大量不连续的碎片):大对象就不能进行保存了。 二、复制...
  • jvm垃圾收集器(Serial收集器、ParNew收集器、Parallel收集器) 1、Serial收集器 Serial(串行)收集器是最基本、历史最悠久的垃圾收集器了。大家看名字就知道这个收集器是一 个单线程收集器了。它的 “单线程” 的...
  • JVM进阶(十一)——JAVA G1收集

    万次阅读 2017-03-13 10:34:40
    JVM进阶(十一)——JAVA G1收集器  在前两篇博文中讲解了新生代和年老代的收集器,在本篇博文中介绍一个收集范围涵盖整个堆的收集器——G1收集器。 先讲讲G1收集器的特点,他也是个多线程的收集器,能够充分利用多...
  • # Name the components on this agent a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the source a1.sources.r1.type = spooldir a1.sources.r1.spoolDir = /bigdata/testdata/spool_dir ...
  • JVM进阶(九)——JAVA 年轻代收集

    万次阅读 2017-03-13 10:03:26
    JAVA 年轻代收集器  继续上一篇博文所讲的,STW即GC时候的停顿时间,他会暂停我们程序中的所有线程。如果STW所用的时间长而且次数多的话,那么我们整个系统稳定性以及可用性将大大降低。   因此我们在必要的...
  • Serial收集器 Serial Old收集器 ParNew收集器 Parallel Scavenge收集器 Parallel Old收集器 CMS收集器 G1收集器 与GC相关的常用参数 思维导图 总览 Serial收集器 Serial收集器是最古老的收集器。 ...
  • 在线学习编程网站收集

    万次阅读 多人点赞 2013-06-16 14:38:42
    下面收集一些个人觉得比较好的在线学习编程网站。当然用google搜索下,会有很多推荐。   update 2015-11-11 收集到几个做题网站 http://www.codewars.com/ Codewars http://codeforces.com/  codeforces ...
  • 分代收集算法 思维导图 JVM-04垃圾收集Garbage Collection(上)【垃圾对象的判定】探讨了如何判定堆内存中的对象是否已经死亡,这里我们来继续讨论下JVM中常用的垃圾搜集算法 复制算法 将现有的...

空空如也

1 2 3 4 5 ... 20
收藏数 209,305
精华内容 83,722
关键字:

收集