# Hammered - CyberDefender Walkthrough
https://cyberdefenders.org/blueteam-ctf-challenges/42#nav-overview
Mục tiêu của bài này là tìm hiểu những gì đã xảy ra đối với webserver honeypot thông qua những log mà đề bài cho.
**Q1: Which service did the attackers use to gain access to the system?**
Mình check auth.log với từ khóa liên quan đến đăng nhập như ```Failed password``` thì nhận thấy có rất nhiều ở mục `sshd`

:::success
Nói sơ về auth.log thì đây là một tệp nhật ký (log file) trên các hệ điều hành họ Unix/Linux, nó chứa thông tin về quá trình xác thực trong hệ thống và ghi lại các sự kiện liên quan đến đăng nhập, đăng xuất, và các hoạt động xác thực khác trên hệ thống.
:::
`->ssh`
**Q2: What is the operating system version of the targeted system? (one word)**
Để tìm thông tin về hệ điều hành, version các kiểu thì mình sẽ check kernel.log, như cái tên thì nó sẽ chứa thông tin về kernel. Ở những dòng đầu tiên thì mình dễ dàng thấy:

`-> 4.2.4-1ubuntu3`
**Q3: What is the name of the compromised account?**
Đầu tiên mình xem account nào mà bị nhập sai password nhiều thì mình thấy có account ```root```:

Mà để ý thì thấy có rất nhiều địa chỉ IP login vào `root` nhưng bị sai password, sau đó mình tìm keyword ```Accepted password``` thì có hiện `root` nên mình nghĩ root là account cần tìm.
`-> root`
**Q4: Consider that each unique IP represents a different attacker. How many attackers were able to get access to the system?**
Với câu này thì mình sẽ làm 2 bước :
Bước 1: tìm những ip đang cố gắng đăng nhập vào hệ thống nhưng bị ```Authentication failure```.
```python
cat auth.log| grep "authentication failure" | awk '{print $14}' | sort | uniq -c | sort -n > failed.txt
```
Khi list ip thì mình cũng list ra số lần đăng nhập thất bại để dễ phân biệt đâu là lần đăng nhập từ attacker

Ảnh phía trên chỉ là một phần IP được list ra, mình cũng sẽ xóa bớt những ip có số lần đăng nhập thất bại thấp đễ dễ so sánh.
Bước 2: tìm những ip đã truy cập thành công.
```python!
cat auth.log |grep "Accepted" | awk '{print $11}' | sort | uniq -c | sort -n > accepted.txt
```

Lúc này thì mình sẽ check những IP nào xuất hiện ở trong cả 2 bước bằng [tool](https://www.zickty.com/duplicatefinder) này, và đây là kết quả:

```-> 6```
**Q5: Which attacker's IP address successfully logged into the system the most number of times?**
Dưới đây là những địa chỉ ip của attacker đăng nhập thành công :
```
61.168.227.12
122.226.202.12
222.169.224.197
121.11.66.70
222.66.204.246
219.150.161.20
```
Ở câu hỏi trước đó mình có list ra số lần đăng nhập của những ip đấy nên giờ check lại thì sẽ thấy ```219.150.161.20``` với số lần đăng nhập thành công là 4 chính là địa chỉ ip cần tìm.
```-> 219.150.161.20```
**Q6: How many requests were sent to the Apache Server?**
Để xem số lần request thì mình sẽ truy cập vào apache2/www-access.log. Mỗi dòng của log này chính là mỗi lượt request nên mình sẽ dùng command ```wc -l``` cho nhanh.

**Q7: How many rules have been added to the firewall?**
Mình search google thì biết được có 2 hai loại firewall phổ biến trên các hệ điều hành linux là ```iptables``` và ```ufw``` ở các phiên bản linux mới hơn. Nhưng mà câu hỏi đề cập đến rules nên mình sẽ chỉ tập trung vào iptable thôi.

Như trên hình thì có thể thấy có tổng cộng 6 rules
```-> 6 ```
**Q8: One of the downloaded files to the target system is a scanning tool. Provide the tool name.**
Đề bài có cho mình file dpkg.log nên mình sẽ kiểm tra bên trong đó, dpkg.log sẽ lưu trữ nhưng thông tin về cài đặt, cập nhật và gỡ các package.


```-> nmap```
**Q9 : When was the last login from the attacker with IP 219.150.161.20? Format: MM/DD/YYYY HH:MM:SS AM**
Vẫn là tìm bên trong auth.log

```-> 04/19/2010 05:56:05 AM```
**Q10: The database displayed two warning messages, provide the most important and dangerous one**
Nhắc đến database thì mình sẽ check cái ```mysql``` bên trong deamon.log, log này chứa các thông báo của các dịch vụ chạy trên hệ thống.

```-> mysql.user contains 2 root accounts without password!```
**Q11: Multiple accounts were created on the target system. Which one was created on Apr 26 04:43:15?**

```-> wind3str0y ```
**Q12: Few attackers were using a proxy to run their scans. What is the corresponding user-agent used by this proxy?**
Với câu hỏi này mình sẽ check access.log ở thư mục apache2, câu hỏi yêu cầu tìm user-agent nên mình sẽ dùng ```grep``` tương tự như các câu trên.
```cat www-access.log | awk '{print$12}' | sort | uniq```

```-> pxyscand/2.1```