DAY20
DAY20

logstash 설정

nano /etc/packetbeat/packetbeat.yml
    output.elasticsearch:
    host: ["10.0.2.3:9200"]
systemctl restart packetbeat

*filebeat = rsyslog
파일비트는 쌓인 로그를 서버에 보내주고 서버는 파일비트에게 로그를 보내달라고 요청한다.

[3server]
nano /etc/filebeat/filebeat.yml
    enabled : true
    output.logstash:
    hosts: [10.0.2.3:5044"]

systemctl start/enable/restart/status filebeat
    오류 시 elasticsearch output #처리 !!
systemctl start/enable/restart/status packetbeat

[10.0.2.3]
stack management>kibana>index patterns

[log]
cd /etc/logstash/conf.d
nano sample.conf
input {
  beats {
     port => 5044
  }
}

output {
  elasticsearch {
  hosts => ["localhost:9200"]
  index => "IP15_logstash-%{+YYYY.MM.dd}"
  }

}
systemctl start logstash

Bootstrap Example

공격하고 elasticsearch 그래프 확인하기

[\\10.0.2.3]
stack management>kibana>index patterns > packetbeat-7.17.27-~~, @timestamp, create
home> discover > packet 선택 > hostip, destinationip, destination port 추가


공격
dnsenum dvwa.st.kr
nikto -host dvwa.st.kr
hydra -L user.txt -P passwd.txt st.kr ssh


시간 today 설정해서 그래프 확인하기

Bootstrap Example

kali에서 burpsuite 사용하기

*burpsuite (변호사역)
> next > start burpsuite (시작)

proxy
open browser >dvwa.st.kr등 선택

target
site map (구조 확인 가능)

web2.st.kr/login.html
request/response 확인하면 관리자 edit+ 내용과 동일

$result=mysqli_query($db_conn, $query); 에러 > web2 테이블에 user가 없는 경우
=> workbench 10.0.2.15 /web/web
    => mysql 192.168.0.3 열어줘야 접속
       CREATE USER 'web2'@'192.168.0.3'     IDENTIFIED BY '123456';
       GRANT ALL PRIVILEGES ON web2.* TO 'web2'@'192.168.0.3';
       FLUSH PRIVILEGES;

[workbench]
1. 테이블 추가
    table name : user

    column name : idx
    datatype: int (pk nn ai)

    column name : id_param
    datatype: varchar(45)

    column name: pw_param
    datatype: init

2. 아이디
    id 를 id_param로 맞춰줌


[burpsuite]

web2 > tables > user > 1/admin/123456

intercept on/off
proxy > http history > intruder > 123456 드래그 후 add > payloads

=> length가 유독 길거나 짧은 등 길이수가 다른 경우 로그인 성공일 확률이 높다(공격성공)

*기능설명
intercept is off > on 로그인 페이지 눌러도 바로 안들어가짐
forward 에 두면 그 때 넘어감
보내기 전 수정도 가능

Bootstrap Example

호스트 전용 네트워크망 구축

해커 192.168.56.101
서버 192.168.56.102
엘크 192.168.56.103
윈도우 192.168.56.104

dns .102
gateway .254

dns=서버


계정 획득에 단서가 될 목록
user varchar(15)
password carchar(32)
last_login timestamp
failed_login init


[worbench]
dvwa.st.kr 접속
select users 확인해보기

web2
기존 tables 안에 users 삭제 후 재생성
CREATE TABLE users (
idx int(6),
id_param varchar(15),
pw_param varchar(32),
last_login TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
failed_login INT(3),
PRIMARY KEY (idx)
);


[edit+]
web2.st.kr

< ?php
    include __DIR__ . "/includes/db.php";

    $id_param = $_GET['id_param'];
    $pw_param = $_GET['pw_param'];

    //디볼트 변수 선언
    $total_failed_login=3;
    $lockout_time=5;
    $account_locked=false;

    //if()
? >
v db.php
< ?php
    $host="localhost"
    $user="web2";
    $pw="123456";
    $db="web2";
    $conn = mysqli_connect($host, $user, $pw, $db);

    if ($conn
      echo mysqli_connect_error();
    } else {
     echo