일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- fan-in fan-out
- nc reverse shell
- madia designer ui design
- ssh
- 암표거래
- prototypepattern 예시 example
- 상태다이어그램
- Bandit
- factory metohd pattern
- ui 디자인 기본원칙
- 소프트웨어공학 디자인패턴
- UseCase
- 객체 상속 속성 인스턴스 메소드 오퍼레이션
- 매크로를 바라보는 시각
- 클래스 관계
- cron
- telnet
- 생성패턴 행위패턴 구조패턴
- status diagram
- sofrware architeture
- usecase description
- gof design pattern
- base64
- 팬인과 팬아웃
- bandit21
- 리버스쉘
- 디자인패턴
- 모듈구조도
- 구조적 설계
- strucuture charat
- Today
- Total
목록HACKING/Bandit+ (36)
2.log
cron 작업 스케줄링 역할 하는 데몬으로, 특정 시간에 특정 작업을 자동으로 수행 할 수 있도록 함 (crontab 을 실행) 주기적, 반복적으로 수행해야 하는 작업에 유용 보안쪽에서 매일 취약점 검사를 위해 쓰이기도하지만, 공격자가 해킹 용도로 특정 서버 침입해 악성코드 실행 명령을 crontab 에 설정한 사례가 있음 동작방식 System ON (서버부팅) Init 데몬 cron 데몬 실행 ( 백그라운드로 실행, 확인 명령어 : $ ps -ef | grep cron ) /etc/crontab 파일 읽음 cron.hourly > '' daliy > '' weekly > '' monthly 수행 (시스템 cron 설정 디렉토리) /var/spool/cron 디렉토리에 있는 파일 읽음 (사용자 개별 cr..
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 타임아웃..
Tmux (Terminal multiplexer) 여러개의 창을 분할해 독립적으로 사용할 수 있게 해주는 유틸리티 작업중 ssh 서버와 연결이 끊겨도 실행이 중단되지 않기에, 세션 종료하지 않는 이상 프로그램 계속 돌릴 수 있음 구성요소 Session tmux의 가장 큰 실행단위 tmux 사용시 [tmux 서버] 와 [tmux 클라이언트] 로 나뉘는데, 그 중 [tmux 서버]에서 실행되는 프로세스 tmux가 관리하는 가상 터미널 집합으로 1개 이상의 [tmux 클라이언트]가 접속 할 수 있음 Window session 내에 존재하는 하나의 tab 을 의미하는 단위로, window 전환 시 tab과 같이 전체 화면 전환 됨 Pane 하나의 window 내에서 분할된 화면 단위 window 안에는 1개 이..
nohup 리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어져도 계속 동작할 수 있게 해주는 명령어 본래 터미널에서 세션 로그아웃 되면 해당 터미널에서 실행한 프로세스들에게 HUP signal 전달하여 종료시키지만, nohup 은 이 시그널을 프로세스가 무시하도록 함 또한 nohup 은 표준 출력(standard output) 을 nohup.out 파일로 리다이렉션 하여 계속 기록하기에 프로세스 상태 확인 가능하며, 다만 이러한 로그는 디스크 자원을 낭비할 수 있기에 불필요한 출력파일은 생성하지 않는 것이 좋음 명령어 $ nohup [process] & 프로세스 부분에 실행하고자 하는 프로그램이나 스크립트 지정, 이 때 스크립트 파일 권한은 755 이상이어야 하며 일반적으로 nohup 명령어 사용시..
📍 'K씨' 님의 정보보안기사 강의를 정리한 내용임을 밝힙니다. / 출처 : https://youtu.be/0cgAAfB2yM4 1. 서버와 클라이언트가 통신하기 위하여 우선, 서버쪽에서 소켓 생성하고 IP 주소에 바인딩 함 2. 서버측에서 특정 포트 열어서 listen 상태로 대기, 이 때 클라이언트 측에서도 통신 하기 위해 소켓 생성 3. 클라이언트쪽에서 서버 쪽으로 커넥션 요청 4. TCP 요청의 경우 정상적으로 3-way handshake 마치면 커넥션 이루어지고, establish 상태로 넘어감 5. 이후부터는 서버, 클라이언트 측 양방향으로 데이터 전송이 이루어지게 됨 6. 전송과정이 완료되면 서버나 클라이언트측에서 close 하며 통신 종료됨 **최초 연결 수립은 클라이언트측에서 서버쪽으로 ..
PPP(Point-to-Point Protocol) 란 네트워크 분야에서 두 노드 간의 직접적인 연결(통신)을 위해 사용되는 데이터 링크 레이어(2계층) 프로토콜로, 인증/암호화를 통한 전송 및 데이터 압축 기능을 지원함 구성요소 PPP 에서는 통신 시작 전 커넥션을 확립해야 하고 이 때, 인증과 압축 등을 설정하게 되는데 LCP, NCP가 그러한 기능을 지원하며, LCP의 경우 상위층에 의존하지 않고, NCP 의 경우 상위층에 의존함 LCP (Link Control Protocol) PPP 의 개설, 유지, 종료, 시험 등을 담당하는 프로토콜로, 최대 프레임 길이, 인증 프로토콜 (*PAP, CHAP) 등을 결정하며, 직렬 연결 회선을 제어/관리 함 예를 들어, 링크에 루프가 발생하는 등 오류가 발생하..
포트포워딩? 네트워크 연결을 설정하여 한 컴퓨터나 기기에서 다른 컴퓨터나 기기로 연결을 전달(forwarding)하는 기술로, 주로 외부 네트워크에서 내부 네트워크로의 접속을 가능하게 해주는데 사용 되며(ex, 인터넷 공유기), 서버 간 원격 접속에서도 사용 가능. 만약 2대의 pc 를 같은 포트로 포트포워딩 할 경우 우선순위가 높은 쪽으로 적용 됨 포트포워딩을 하는 이유? IP 주소의 부족과 관리 관점 전 세계 모든 컴퓨터에 고유한 IP 주소를 모두 부여하는 것은 불가능 하기에 IP 할당을 효율적으로 관리하기 위해 공인 IP 주소와 사설 IP 주소로 나누어 사용하게 됨. 이 때, 공인 IP 주소는 인터넷 서비스 제공자(ISP)로 부터 할당받은 IP 주소로, 이를 통해 인터넷에 접속이 가능한데, 이러한 ..
1. SSH 로 서버에 로그인 $ ssh @ 2. 관리자 권한으로 sshd_config 파일 열기 $ sudo vim /etc/ssh/sshd_config 3. 포트를 변경 / 추가 하려면 해당하는 줄의 주석(#) 제거하고 포트 번호 입력 / 다른 포트 번호 추가 (기본 : 22) #port 22 Port [바꿀 포트번호] 4. SSH 서비스 재시작 $ sudo service ssh restart #or $ sudo systemctl restart sshd
Bash Unix/Llinux 시스템에서 사용되는 기본 shell 중 하나로, 사용자와 컴퓨터 간 상호작용을 도와주는 인터페이스 command line을 통해 사용자의 입력내용을 컴퓨터가 해석 및 실행할 수 있게 도와주는 프로그램 SSH 접속 시 bash 를 사용하면 어떻게 되는가 ssh 접속 시 bash 를 실행하는 경우, 원격 서버에 로그인 할 때 로그인한 사용자 계정으로 직접 bash shell을 실행하게 됨 즉, 일반적인 ssh 접속과 달리 로그인한 사용자의 '로그인 셸' 과 상관없이 'bash 셸'을 실행 할 수 있고 이에 따라, 접속 후 새로운 bash 셸 을 실행하게 되므로, 기본 로그인 셸에 비해 다양한 기능을 사용할 수 있게 됨 이 때 로그인 셸에서 제공하지 않는 기능이란, 사용자가 일반..
sudo, su, chmod ... 이 모든 명령어가 먹히지 않아 파일 권한변경을 할 수 없을 때 install 명령을 통해 권한변경을 시도해 볼 수 있음 install 명령어파일 복사, 파일 소유자, 그룹 및 권한 변경에 사용되는 명령어로, install 명령어 사용하여 파일 복사하면, 복사된 파일이 기존 파일과 동일한 권한을 상속함. 즉, 복사된 파일은 복사를 수행한 사용자 및 그룹에 대한 권한을 가지게 됨 사용법-m 옵션을 사용하여 권한 지정하고 파일과 경로 지정$ install -m 4755(권한설정) file.txt /path/to/destination 예를들어 기존 bandit20-do 파일은 소유자가 bandit20 이지만 install 명령으로 복사를 수행한 /tmp/bandit20-do ..