일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ssh
- 팬인과 팬아웃
- usecase description
- 리버스쉘
- Bandit
- ui 디자인 기본원칙
- base64
- madia designer ui design
- 매크로를 바라보는 시각
- prototypepattern 예시 example
- 객체 상속 속성 인스턴스 메소드 오퍼레이션
- 암표거래
- bandit21
- 소프트웨어공학 디자인패턴
- telnet
- 구조적 설계
- 클래스 관계
- 생성패턴 행위패턴 구조패턴
- UseCase
- factory metohd pattern
- status diagram
- nc reverse shell
- sofrware architeture
- 상태다이어그램
- 디자인패턴
- strucuture charat
- cron
- fan-in fan-out
- gof design pattern
- 모듈구조도
- Today
- Total
목록HACKING/Bandit+ (36)
2.log
setuid? UNIX/Linux 시스템의 파일 특별 권한 중 하나로, setuid 가 설정된 프로그램 / 파일 실행 시, 실행한 사용자 대신 파일 소유자의 권한으로 실행이 이루어짐. 이는 권한 없는 사용자가 권한을 부여받을 시 root 권한으로 실행되어 악용될 수 있기에 주의 필요함 설정방법 #문자모드 $ chmod u+s [파일명] #숫자모드 $ chmod 4755 [파일명] bit 모드로 설정 시 4는 setuid(4000), 755 는 rwx (4,2,1) 권한 조합을 나타내며, setuid 설정이 되면 파일 소유자 권한이 x 대신 s 로 표시됨 예를들어 해당 파일의 경우 소유자에게 rwx 권한이 있는데 setuid 가 설정되어 x 대신 s 가 부여되었고, 나머지 그룹과 기타 사용자에게는 r-x ..
Shell 사용자(user)와 커널(Kernel) 사이에서 매개체 역할하는 프로그램 사용자로부터 명령을 받아 프로세싱 하기 위해 커널에 넘겨주어 사용자가 커널에 직접 명령 내릴 수 있게 함 bashrc Bourne Again Shell 의 축약어로, 리눅스에서 가장 널리 사용되는 쉘 보통 5개의 공통된 설정 파일 가지며 일반적으로 전역 파일은 /etc 디렉토리, 지역 파일(특정 사용자에게만 영향 끼치는 파일)은 사용자의 홈 디렉토리에서 숨김파일( ' . ' 으로 시작) 형태로 존재함 파일종류 /etc/profile ~/.bash_profile ~/.bashrc /etc/bashrc ~/.bash_logout 파일설명 /etc/profile 환경변수와 bash 가 수행될 때 실행되는 프로그램 제어하는 전역..
원인 키 권한 관련 에러 개인키는 소유자 외의 사용자가 접근/수정하면 안되기 때문에 권한이 너무 open 되어있으면 permission deny 뜸 solution : chmod 400 권한 축소시켜서 사용 # chmod 400 [경로]/{key_name} $ chmod 400 /tmp/private
diff (differences) 두 파일 사이 내용 비교하는 명령어로 cmp 보다 직관적인 정보 보여주며, 문서의 줄 사이 변경 사항 보여줌 (+ diff3 : 3개의 파일 비교 가능) 명령어 #diff $ diff [option] [file1] [file2] #diff3 $ diff [option] [file1] [file2] [file3] 옵션 -c 두 파일 간 차이점 출력 -d 상세 출력 -r 두 디렉토리간 차이점 출력, 서브디렉토리까지 비교 -i 대소문자 차이 무시 -w 모든 공백 차이 무시 -s 두 파일이 같을 때 알림 -u 두 파일의 변경되는 부분과 근처 내용까지 함께 출력 [ex] -c option [ex] -d option [출처] https://m.blog.naver.com/PostVi..
URL 접속 시 리다이렉트 or 포워드가 일어나면 작업중인 페이지가 전환되는데 리다이렉트는 페이지 전환 주체가 클라이언트, 포워드는 서버임 이 때, 클라이언트가 주체가 되면 처음 접속 요청한 URL이 아닌 서버에서 응답받은 다른 URL로 재요청을 보내야 하지만 서버가 주체가 되면 클라이언트측에서 요청정보 변경 할 필요 없이 서버측 내부 동작을 통해 최종 응답 바로 받을 수 있음 Redirect 서버에서 클라이언트가 요청한 URL에 대한 응답으로 다른 URL로의 재접속 명령(300번대 코드) 보냄 [ex] - 클라이언트가(브라우저) a 를 요청하면 서버는 redirect b 를 응답함 - 클라이언트는 b 로 다시 요청 날리고 서버는 c라는 결과 응답 >> 클라이언트 측에서 요청이 총 2번 발생, 리소스 변..
OpenSSL SSL/TLS 프로토콜을 구현한 라이브러리 중 하나로, 통신전문과 문서를 암호화 할 수 있음 s_client (SSL/TLS client program) SSL/TLS 를 사용하는 원격 호스트에 접속하기 위한 일반적인 SSL/TLS client를 구현하는 명령어 openssl 로 운영중인 웹서버의 SSL 인증서 정보 살펴볼 수 있음 사용법 $ openssl s_client [옵션] s_client 옵션 -connect host:port 접속할 host, port / 기본값은 localhost:443 -ssl2, -ssl3, -tls1, -dtls1 설정한 프로토콜만 통신 no_를 앞에 붙이면 설정한 프로토콜 제외하고 통신 (ex. -no_ssl2) -msg 프로토콜 메시지 출력 -CAfil..
Insecure_Client_Initiated_Renegotiation 암호화 통신 시 재협상 제한이 미흡해서 일어나는 취약점 재협상 종류 Client-initiated secure renegotiation Client-initiated insecure renegotiation Server-initiated secure renegotiation Server-initiated insecure renegotiation 확인방법 점검하고자 하는 사이트에서 명령어를 통해 재협상 시도후 리턴 값 확인해 취약 유무 판별 $ openssl s_client -connect IP:PORT --- read R BLOCK 이 뜨면 대문자 R (RENEGOTIATING), 재협상 시도하는 명령 입력 R 명령 입력 시 위와 같..
HeartBeat? 대기중인 메시지가 없는 경우 송신 응용프로그램이 잘 살아있는지 수신자에게 알려주기 위해 주기적으로 전송되는 시스템 메시지 HeartBleed (CVE-2014-0160) OpenSSL 1.0.1 버전에서 발견된 취약점으로 OpenSSL 을 구성하는 TLS/DTLS 의 HeartBeat 확장규격에서 서버와 클라이언트 간 주고받는 정보가 유출 되는 문제 (보통 클라이언트로부터 전달받은 정보와 길이가 일치하지 않으면 클라이언트 요청에 서버가 응답하지 않는것이 정상이나 이러한 정보의 내용과 길이의 일치여부를 검증하지 않고 정보를 보내기 때문에 payload의 길이를 조작하여 시스템 메모리에 저장되어 있는 정보 야금야금 탈취가능하게 됨) 취약버전 OpenSSL 1.0.1 ~ 1.0.1f 버전 ..
netstat (Network Statistics) 현재 서버가 다른 시스템과 어떤 서비스/포트로 연결되어 있는지 확인하는 명령어 $ netstat -tnl #t : TCP #n : Numeric(10진수) #l : Listening 시스템 콘솔에 표시되는 네트워크 정보 항목 Proto (Protocol) 프로토콜 종류 (TCP or UDP) Local Address 자기 자신의 IP 주소와 포트번호 0.0.0.0 : 특정 IP 연결되어있지 않은 상태 Foreign Address 상대 측 IP 주소와 포트번호 0.0.0.0 : 아직 통신 시작되지 않은 상태 State 현재 서비스 연결 상태 State (네트워크 서비스 연결상태) 항목 LISTEN(window : LISTENING) 클라이언트의 접속 요청..
SSL(Secure Sockets Layer) 개인정보 보호, 인증, 데이터 무결성 보장을 위해 Netscape가 개발한 암호화 기반 인터넷 보안 프로토콜 SSL/TSL을 사용하는 웹사이트는 HTTP 대신 HTTPS 가 붙으며 데이터가 모두 암호화 되어 전달되기에 중간에 데이터를 가로채더라도 복호화가 거의 불가능함 TLS(Transport Layer Security) IETF(Internet Engineering Task Force)에서 SSL에 대한 업데이트를 개발하면서 Netscape는 빠지게 됨 소유권 변경으로 이름이 바뀌고 버전 차이가 있을 뿐 목적과 기능은 동일하다고 볼 수 있음 SSL/TLS 작동원리 개인정보 보호를 위해 웹에서 전송되는 데이터를 암호화 함 두 통신 장치 사이에 *핸드셰이크라는..