일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 디자인패턴
- Bandit
- 암표거래
- 상태다이어그램
- 매크로를 바라보는 시각
- ui 디자인 기본원칙
- ssh
- gof design pattern
- UseCase
- prototypepattern 예시 example
- sofrware architeture
- telnet
- status diagram
- strucuture charat
- base64
- fan-in fan-out
- bandit21
- nc reverse shell
- usecase description
- 팬인과 팬아웃
- 모듈구조도
- cron
- 구조적 설계
- 생성패턴 행위패턴 구조패턴
- factory metohd pattern
- 리버스쉘
- 클래스 관계
- 객체 상속 속성 인스턴스 메소드 오퍼레이션
- madia designer ui design
- 소프트웨어공학 디자인패턴
- Today
- Total
목록HACKING (41)
2.log
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dWJl2P/btsbTvnABr7/3Bfc26zbPX2qxksa6vGX70/img.png)
✅ Level 21 : A program is running automatically at regular intervals from cron, the time-based job scheduler. Look in /etc/cron.d/for the configuration and see what command is being excuted 🖊︎ cron 파일 원리 알기 | 문제에서 지시한 대로 /etc/cron.d 폴더로 들어가 현재 level에 해당하는 cronjob_bandit22 file cat 설정파일 확인해보니 매분, 시, 일, 월, 요일, 그러니까 24시간 내내 bandit22에 의해 /usr/bin/cronjob-bandit22.sh 파일의 출력이 /dev/null로 버려지도록 리다이렉션 시켜..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SSjVl/btsbT1s4LjN/QKYdZlddoAv81TQ0kWUKsK/img.png)
cron 작업 스케줄링 역할 하는 데몬으로, 특정 시간에 특정 작업을 자동으로 수행 할 수 있도록 함 (crontab 을 실행) 주기적, 반복적으로 수행해야 하는 작업에 유용 보안쪽에서 매일 취약점 검사를 위해 쓰이기도하지만, 공격자가 해킹 용도로 특정 서버 침입해 악성코드 실행 명령을 crontab 에 설정한 사례가 있음 동작방식 System ON (서버부팅) Init 데몬 cron 데몬 실행 ( 백그라운드로 실행, 확인 명령어 : $ ps -ef | grep cron ) /etc/crontab 파일 읽음 cron.hourly > '' daliy > '' weekly > '' monthly 수행 (시스템 cron 설정 디렉토리) /var/spool/cron 디렉토리에 있는 파일 읽음 (사용자 개별 cr..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cXSk2W/btr9dXBwjTQ/Q3AEciTbNRZtxBEN2bI9g0/img.png)
✅ Level 20 : There is a setuid binary in the homedirectory that does the following: it makes a connection to localhost on the port you specify as a commandline argument. It then reads a line of text from the connection and compares it to the password in the previous level (bandit20). If the password is correct, it will transmit the password for the next level (bandit21). 🖊︎ backdoor shell 취약점 이용..
NC(NetCat) TCP or UDP 프로토콜을 이용해 데이터 읽고 쓰는 네트워크 유틸리티 프로그램으로, 서버와 클라이언트 역할 모두 수행하며 proxy, ssl/tls 암호화 통신 등 다양한 기능 지원 거의 모든 종류의 접속 형태를 만들어 낼 수 있어 네트워크 디버깅, 테스트 툴로서 매우 편리하게 이용되지만 그만큼 해킹에도 이용 범위가 넓음 주요 옵션 -c 쉘 커맨드 수행, 명령어 실행하는 -e 와 유사하게 사용가능 [ex] -e /bin/sh -l listen mode(서버모드) 로 동작 -p 로컬 포트 지정 서버모드로 동작하는 경우 listen 포트 지정 -u UDP 프로토콜 모드로 동작 -v 상태메시지 출력 추가메시지 출력 원한다면 -vv -e 연결 수립 후 프로그램 실행 -w secs 타임아웃..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpPCU2/btsal5qiH3i/efeKUE0W6ioy8Lx3c1CHA1/img.png)
Tmux (Terminal multiplexer) 여러개의 창을 분할해 독립적으로 사용할 수 있게 해주는 유틸리티 작업중 ssh 서버와 연결이 끊겨도 실행이 중단되지 않기에, 세션 종료하지 않는 이상 프로그램 계속 돌릴 수 있음 구성요소 Session tmux의 가장 큰 실행단위 tmux 사용시 [tmux 서버] 와 [tmux 클라이언트] 로 나뉘는데, 그 중 [tmux 서버]에서 실행되는 프로세스 tmux가 관리하는 가상 터미널 집합으로 1개 이상의 [tmux 클라이언트]가 접속 할 수 있음 Window session 내에 존재하는 하나의 tab 을 의미하는 단위로, window 전환 시 tab과 같이 전체 화면 전환 됨 Pane 하나의 window 내에서 분할된 화면 단위 window 안에는 1개 이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d1scp3/btsaqQzynVj/T9hwhpZm7vvoFd03kmVFCk/img.png)
nohup 리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어져도 계속 동작할 수 있게 해주는 명령어 본래 터미널에서 세션 로그아웃 되면 해당 터미널에서 실행한 프로세스들에게 HUP signal 전달하여 종료시키지만, nohup 은 이 시그널을 프로세스가 무시하도록 함 또한 nohup 은 표준 출력(standard output) 을 nohup.out 파일로 리다이렉션 하여 계속 기록하기에 프로세스 상태 확인 가능하며, 다만 이러한 로그는 디스크 자원을 낭비할 수 있기에 불필요한 출력파일은 생성하지 않는 것이 좋음 명령어 $ nohup [process] & 프로세스 부분에 실행하고자 하는 프로그램이나 스크립트 지정, 이 때 스크립트 파일 권한은 755 이상이어야 하며 일반적으로 nohup 명령어 사용시..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/A69l0/btsagsz7RjE/wtPvc9KcuKWkmlvcbzVCDk/img.png)
📍 'K씨' 님의 정보보안기사 강의를 정리한 내용임을 밝힙니다. / 출처 : https://youtu.be/0cgAAfB2yM4 1. 서버와 클라이언트가 통신하기 위하여 우선, 서버쪽에서 소켓 생성하고 IP 주소에 바인딩 함 2. 서버측에서 특정 포트 열어서 listen 상태로 대기, 이 때 클라이언트 측에서도 통신 하기 위해 소켓 생성 3. 클라이언트쪽에서 서버 쪽으로 커넥션 요청 4. TCP 요청의 경우 정상적으로 3-way handshake 마치면 커넥션 이루어지고, establish 상태로 넘어감 5. 이후부터는 서버, 클라이언트 측 양방향으로 데이터 전송이 이루어지게 됨 6. 전송과정이 완료되면 서버나 클라이언트측에서 close 하며 통신 종료됨 **최초 연결 수립은 클라이언트측에서 서버쪽으로 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bScwN2/btsagQgLBvj/j4XS3WGeMLKPDxvsIdOu10/img.png)
PPP(Point-to-Point Protocol) 란 네트워크 분야에서 두 노드 간의 직접적인 연결(통신)을 위해 사용되는 데이터 링크 레이어(2계층) 프로토콜로, 인증/암호화를 통한 전송 및 데이터 압축 기능을 지원함 구성요소 PPP 에서는 통신 시작 전 커넥션을 확립해야 하고 이 때, 인증과 압축 등을 설정하게 되는데 LCP, NCP가 그러한 기능을 지원하며, LCP의 경우 상위층에 의존하지 않고, NCP 의 경우 상위층에 의존함 LCP (Link Control Protocol) PPP 의 개설, 유지, 종료, 시험 등을 담당하는 프로토콜로, 최대 프레임 길이, 인증 프로토콜 (*PAP, CHAP) 등을 결정하며, 직렬 연결 회선을 제어/관리 함 예를 들어, 링크에 루프가 발생하는 등 오류가 발생하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dBtziS/btr5PRYwFnb/bsSndAVxEvKLJVMzLZP9b0/img.png)
✅ Level 15 :The password for the next level can be retrieved by submitting the password of the current level to port 30001 on localhost using SSL encryption 🖊︎ OpenSSL 의 HeartBeat 취약점 이용한 exploit netstat -tnl 명령어로 현재 연결된 포트 확인하니 30001번 포트가 LISTEN(연결 대기중) 상태였음 문제에서 localhost가 ssl encrytion 을 사용중이라고 하였으므로, ssl 로 구현된 서버에 원격접속하기 위해 명령어 입력 $ openssl s_client -connect 127.0.0.1:30001 연결에 성공하자 인증 체인정보,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/On3PX/btr8KKbHEY3/MKGtNrPZF6rNFDDoGjwkkK/img.png)
포트포워딩? 네트워크 연결을 설정하여 한 컴퓨터나 기기에서 다른 컴퓨터나 기기로 연결을 전달(forwarding)하는 기술로, 주로 외부 네트워크에서 내부 네트워크로의 접속을 가능하게 해주는데 사용 되며(ex, 인터넷 공유기), 서버 간 원격 접속에서도 사용 가능. 만약 2대의 pc 를 같은 포트로 포트포워딩 할 경우 우선순위가 높은 쪽으로 적용 됨 포트포워딩을 하는 이유? IP 주소의 부족과 관리 관점 전 세계 모든 컴퓨터에 고유한 IP 주소를 모두 부여하는 것은 불가능 하기에 IP 할당을 효율적으로 관리하기 위해 공인 IP 주소와 사설 IP 주소로 나누어 사용하게 됨. 이 때, 공인 IP 주소는 인터넷 서비스 제공자(ISP)로 부터 할당받은 IP 주소로, 이를 통해 인터넷에 접속이 가능한데, 이러한 ..