
어제는 여러 취약점 관련 코드를 작성했다.보통 파일 및 디렉토리의 소유자와 권한을 앤서블 stat 모듈로 읽어와 판단하고 실행하는 방식으로 작성했다.더 편하게 하려면 롤 파일을 모듈로 작성해서 외부로 받아오는 방식을 하면 될 것 같지만 오늘 여유시간을 주시면 시도해 보겠다.SUID: 루트의 권한으로 rwx권한을 주는 권한 비트 새로 계정을 생성하여 암호를 수정하면 읽기 권한이 없는 /etc/shadow의 내용이 변한다.그 방법은 SetUID로 root의 권한으로 /etc/shadow에 접근할 수 있던 것이다. 만약 SetUID 비트가 sed명령어에 있다면? 루트 권한을 이용하여 파일을 바꾸며 권한 상승을 야기할 수 있다. 루트 로그인 허용 sshd가 언젠가 리스타트되면 접근이 가능해질 것이다.U-13 S..

어제는 주요정보통신기반시설 취약점 분석 상세가이드를 보고 앤서블을 이용해서 1, 2, 4번을 체크해봤다.U-44 계정관리 (root 이외의 UID가 '0' 금지) uid를 0번 루트 계정이므로 허용되야만 한다. 분명 hacker로 로그인 했음에도 root로 로그인이 된다. 그룹은 hacker이므로 결론은 사용자의 구분은 uid로 한다는 것을 알 수 있다. 1, 3번 노드에 uid 0번 계정을 넣어두자 계정명이 root가 아니며 uid가 0인 계정이 있는 호스트를 찾겠다. 잘 찾아진다. multiline을 없에고 regex_findall을 사용하니 있는 내용을 여러 개 찾을 수 있다. 목록형으로 출력된다. 이제 이 출력된 내용을 report 파일로 생성해준다. 리포팅이 잘 된것을 볼 수 있다. 각 노드의 ..

2, 3, 4 번 리눅스만 되돌리기 시작 환경 실행 시 생성된 파일 관리 노드에 파일을 작성하는 것은 이렇게 간단하지만 이 내용을 마스터 노드에 저장하려면 조금 까다롭다. option은 서로 다른 작업에서 생성된 변수이므로 여기선 사용 불가능하지만 hostvars 변수는 서로 다른 작업 내용들을 통합해서 저장해 놓은 변수이다. hostvars: node1: ansible_facts node2: ansible_facts node3: ansible_facts hostvars['node1.swj.so.mega'].ansible_facts.packageshostvars['..

오늘부터는 앤서블과 파이썬을 이용하여 서버의 취약점을 분석, 평가하는 코드를 작성해 볼 것이다.일단 초기 구성부터 완료하겠다. rocky 1,2,3,4에 앤서블, 도커, 쿠버네티스의 repo를 등록한 뒤 nic 설정을 해주고 metasploitable을 부팅하면 끝이다. 사용 파일은 주요 정보통신 기반 시설_기술적 취약점 분석º평가 방법 상세 가이드 2021.3 파일을 이용한다. 1. root 계정 원격 접속 제한무차별 대입 공격, 사전 대입 공격을 막기 위해 로그인 시도를 원천적으로 막아버려야 함 막지 않으면 전사 공격으로 몇번이든 시도할 수 있다. hydra 전사 공격을 지원하는 프로그램 hydra -l root파일에 계정명을 입력하여 전부 조사시킬 수 있다. 사전 자료 내용 안에서 비교해서 확인해..

지난 시간에는 logstash 를 사용해서 snort의 로그를 정형화하여 elasticsearch에 전송해서kibana에 시각화하는 과정을 진행했다.sql 인젝션과 xss를 탐지하여 그 수를 시각적으로 표시했고대시보드에 KQL(Kibana Quary Language)를 사용하여 필터링으로 원하는 정보만 볼 수 있게 설정도 해봤다.CSRF 공격을 감지해서 로그를 생성해 보는 과정을 가져보자 바뀐 id로 로그인이 잘 된다. 저번의 metas에서는 admin이 기준이였지만 최근 버전의 dvwa는 다른 계정도 잘 바뀐다. brute force 공격을 회피하기 위한 토큰값우리가 dvwa의 전사 공격에서는 GET메소드로 토큰값 없이 진행됐었다. 오늘은 CSRF와 bruteforce를 감지하기 위한 룰을 작성했다. ..

어제는 elasticsearch와 키바나가 연결된 상태로 filebeat와 metricbeat를 다시 설치해본 뒤모듈 활성화, 인증서 설정을 통해서 *beat 프로그램들이 해당 elasticsearch 노드들에 https 통신으로 로그를 보내는 것을 확인했다.그 뒤 우리가 로그를 매번 날릴 수는 없으니, 로그를 생성하는 파이썬 코드를 작성한 뒤 그 로그를 아파치 로그에 추가하여 키바나의 Analytics의 Dashboard를 꾸미고 생성된 로그중 전사공격에 해당하는 로그를 분석해 봤다.마지막으로 스노트 룰을 elasticsearch로 보내면 해석이 잘 안되기 때문에 logstash라는 전처리 프로그램을 이용해서전처리 후 전송하는 과정을 하려다 수업이 끝났다.어제에 이어서 진행하겠다. 어제 오타가 있었다...

어제는 랜카드의 위치를 바꾼 뒤 설치를 진행하다 그래도 기본 인터페이스가 10.20.0.0 네트워크 대역대가 잡혀서 한쪽 인터페이스를 아예 꺼버린 뒤 진행했다. elasticsearch를 키바나와 연동한 뒤 filebeat와 metricbeat에서 나오는 로그를 키바나의 view에 등록하여 Analytics의 Discover에서 시각적인 막대그래프로 본 뒤 인위적인 로그를 생성하여 apache 웹 로그에 추가한 뒤어떻게 보이는지 확인한 후 수업을 마쳤다.오늘 재부팅 시 노드가 하나만 나오는 상황이 발생했다. 둘 다 restart 하고 기다리면 올라올 것이다. 또 10.20.0.0 대역대로 잡아주지만 강사님께서 설정 파일에 명시해놨으니 문제없을 것이라 하셨다. 대표하는 ip nic 카드는 가장 낮은 주소를..

저번 시간에는 snort rule의 마지막 부분인 command execution과 source code disclosure에 대해서 학습한 뒤해당 룰에 알맞는 snort 룰을 작성했다.그 뒤 ELK Stack을 구현하기 위해 Elasticsearch를 설치하다 nic가 멋대로 첫 번째 nic로 사용되다가 끝난 것으로 기억한다.rocky8, 9의 랜카드의 순서를 바꿔주자Rocky 8에서는 snort의 랜카드 설정을 바꿔줘야 한다. 랜카드 순서를 바꿨으면 어제와 같이 설치하면 된다. 마지막 줄에 파일 내용을 바꿔 달라는 요청이 있다. /usr/lib/tmpfiles.d/elasticsearch.conf 내용을 이렇게 바꿔주자 /etc/elasticsearch/elasticsearch.yml 파일을 수정하..
- Total
- Today
- Yesterday
- Database
- named.conf
- JOIN
- 앤서블
- tar
- dns
- IP
- OSI 7계층
- 방화벽
- OSI
- GROUP BY
- 그룹변수
- zon
- 캐싱네임서버
- permission
- mariaDB
- 서브네팅
- 호스트변수
- WAN
- destination /etc not writable
- getsebool
- TCP
- ansible
- 플레이변수
- 추가변수
- DBMS
- 프로토콜
- WordPress
- CCNA 1년 도전기
- Lan
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |